C#链接SQL Server 2005的问题

plottowan_1977 2010-07-15 05:58:30
Web server, SQL Server都在本机上。
连接语句如下:
SqlConnection conn;
conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789");
conn.Open();

奇怪的是,如果是一个C#, WinForm的程序,这个链接可以成功,并且已经可以INSERT数据到表里了。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn;
conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789");
conn.Open();


但是,如果是在Web上面,同样的

SqlConnection conn;
conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789");
conn.Open();

报告错
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
这是为什么?
...全文
177 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanwei1987 2010-07-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ff1222 的回复:]
怎么那么多人用express版的
[/Quote]


这个是对的,你把你的sql server升级下就OK 了 !
black7day 2010-07-17
  • 打赏
  • 举报
回复
1、sqlexpress的协议里是否已经启用了TCP/IP 和端口
2、是否已经启用远程连接到此服务器
3、是否已经启用SQLServer 和Windows身份验证模式。
yufenghua 2010-07-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 libinlink 的回复:]
简单,
使用vs自带的添加服务器的功能,新加一个数据库服务器,vs自己生成的数据库连接拷贝下来,
一看便知!
[/Quote]
+1
liu_shang_fei 2010-07-17
  • 打赏
  • 举报
回复
学习学习。
name327 2010-07-17
  • 打赏
  • 举报
回复
如果数据库服务器不是本机,看看是不是数据库服务器的防火墙的问题,ping 服务器ip 1433。
春天的气息 2010-07-16
  • 打赏
  • 举报
回复
还没解决没?

web上涉及的问题就多了,特别是局域网,端口问题是很重要的,
nlcbook 2010-07-16
  • 打赏
  • 举报
回复
1、sqlexpress的协议里是否已经启用了TCP/IP
2、是否已经启用远程连接到此服务器
3、是否已经启用SQLServer 和Windows身份验证模式。
sadan003 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 libinlink 的回复:]
简单,
使用vs自带的添加服务器的功能,新加一个数据库服务器,vs自己生成的数据库连接拷贝下来,
一看便知!
[/Quote]
这个方法好,本人使用过SQL2005,2000和2005的连接串的写法有所区别的。
sire168 2010-07-15
  • 打赏
  • 举报
回复
conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789");
SQL server2005的话应该是 Data Source=.\sqlexpress;Initial Catalog=TestDb;User Id=TestDb_Admin;Password=123456789吧?
春天的气息 2010-07-15
  • 打赏
  • 举报
回复


各种数据库的连接方法(以前收集的)

http://www.shilidata.com/showtopic-46.aspx
libinlink 2010-07-15
  • 打赏
  • 举报
回复
简单,
使用vs自带的添加服务器的功能,新加一个数据库服务器,vs自己生成的数据库连接拷贝下来,
一看便知!
life_reincarnation 2010-07-15
  • 打赏
  • 举报
回复
试下在配置文件中写

<connectionStrings>
<add name="strConnectionString" connectionString="Data Source=.\\sqlexpress;Initial Catalog=User;User id=TestDb_Admin;pwd=123456789" providerName="System.Data.SqlClient"/>

</connectionStrings>

在页面或者数据访问层调用。
string strCon = ConfigurationManager.ConnectionStrings["strConnectionString"].ConnectionString;
添加引用System.Configuration
using System.Configuration;

视图中有个服务器资源管理器,你用他连接下数据库。要是连不上,看看是服务没开还是其他原因。
junyi541 2010-07-15
  • 打赏
  • 举报
回复
不用这么麻烦,直接localhost或者是127.0.0.1就OK了啦
ff1222 2010-07-15
  • 打赏
  • 举报
回复

怎么那么多人用express版的
guowen2010 2010-07-15
  • 打赏
  • 举报
回复
如果是SQL server2005的话应该是 Data Source=.\sqlexpress;Initial Catalog=TestDb;User Id=TestDb_Admin;Password=123456789;
东莞寻香苑 2010-07-15
  • 打赏
  • 举报
回复
Data Source=192.168.11.3;Initial Catalog=TestDb;User Id=TestDb_Admin;Password=123456789;

好像是没有什么问题

你的SQL server启动了吗?还有SQL的TCP/IP配置好了吗?
懦芞 2010-07-15
  • 打赏
  • 举报
回复
在server里面加上实例名字
myhope88 2010-07-15
  • 打赏
  • 举报
回复
没开启远程连接吧
went10 2010-07-15
  • 打赏
  • 举报
回复
LZ的方法一般连接SQL Server2000不会有问题
went10 2010-07-15
  • 打赏
  • 举报
回复
如果是SQL Server 2005,一般本地server是.\sqlexpress,改一下试试看吧。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧