环境说明:
服务器端:win2003 + sqlserver2000 TCP端口1433已经打开
客户端:win2003 + sqlserver2005 + vs2005
远程连接数据库,使用的字符串:connectionString = "server=223.102.52.3;database=mydbname;uid=sa;pwd=123456";错误提示:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 我远程连接的是sqlserver2000数据库,为什么会出现这样的错误提示。我该怎么办?
就这么多分,全部送了。

解决方案 »

  1.   

    补充一下:程序是winform程序。
      

  2.   

    你确定远程服务器的IP没有错误?既然远程是sqlserver2000,为什么会报链接2005失败?
    试一下"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=mydbname;Data Source=Your Sql Server 2000 IP"
      

  3.   

    要加上端口
    server=223.102.52.3,1433;
      

  4.   

    楼上兄弟的两种方法我都试过,没有用。
    ip正确,端口我也加了,都不见效果。
    至于为什么连接的是sql2000,却提示是sql2005,这个正是我奇怪的地方。
      

  5.   

    以前遇到过这个问题
    先看服务器网络适用工具和客户端工具看Tcp/Ip是否打开
      

  6.   

    再不行把
    在ISS服务中把ASP.NET2.0的默认的连接字符串,Sql的给删掉
    再不行可能就是缺少补丁
      

  7.   

    服务器端sql2000补丁是sp4
    服务器网络适用工具和客户端工具看Tcp/Ip是打开的。
    不过有一点比较郁闷的是:我打开的1433端口,好像服务器不侦听。不知道有没有好的办法可以解决?
      

  8.   

    WIN2003 上的SQL 2000 要打上SP4才可以访问...
      

  9.   

    同楼主,但我用VB是可以连接到我的数据库的,用 C#就报这个错误!!求解...
      

  10.   

    很可能是你的服务没有开啊,
    在控制面板——>  管理工具,里面,打开,服务-> Server .看行不行,我以前遇到的就是这个问题。
      

  11.   

    VS2005本来就有SQL2005的驱动等,在数据库未连接时报错,VS2005并不知道是2000还是2005,而内在的驱动是2005,所以就报错是2005的连接.
      

  12.   

    你的服务器端是否是在另一个局域网中..如果是的话你要到路由器去做一个端口映射了..把1433端口映射到你的服务上..否则连接的是外网IP,路由器哪里知道该向内网中的哪台机器请求数据?.一般叫NAT选项...
      

  13.   

    VS2005好象带的有些SQL2005的东西.另外,据说网通公司把1433端口给屏蔽了.
    直接连就是经常出问题.
    你应该考虑下用webservice