我用VS2005远程连接Sql2000时,老出问题,下面是错误提示打开数据失败:System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
   在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)
   在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   在 System.Data.SqlClient.SqlConnection.Open()
在网上查了好多,没有一个能解决的,晕啊....
sql2000 sp4也装了, 还有就是我也没有装sqlserver2005啊..., 这是为什么啊...,请高手们帮忙啊...,快疯了

解决方案 »

  1.   

    VS2005里自带了免费的SQL 2005 Express版,安装时是可选择的
    看一下你现在运行的SQL SERVER服务器是哪个
      

  2.   

    看一下这个帖子,也许有帮助:
    http://community.csdn.net/Expert/topic/5202/5202630.xml?temp=.4110071
      

  3.   

    现在只运行Sqlserver呀,还有我是本地连接远程服务器的呀,还有远程也只装sqlserver2000 + sp4呀
      

  4.   

    lizhizhe2000(武安侯) 你好, 贴子我看过了,还是不能解决我的问题,试了好多种方式,就是不能搞定,不知道问题到底出在哪
      

  5.   

    to sunshine5211314(〖sunshine〗) , 我是用vs2005自带运行的
      

  6.   

    这个问题只靠运气解决过,还以为仅会出现在SQL Server 2005,原来2000也会……
      

  7.   

    我用asp可以访问的,但用.net就出现问题,而且查询分析器也通过,说明是.net的问题啊...
      

  8.   

    你先看你安装的SQL Server 2000打补丁了没有,如果没有的话,先将sp3以上的补丁打上;打上补丁后,你就打开的SQL Server2000 企业管理器确定是当前的在运行;如果还是不行的话,你你看你的数据库连接字符串是如何配置的?是在webconfig中配置,还是使用他的数据绑定控件
      

  9.   

    打开数据失败:System.Data.SqlClient.SqlException: 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
    ------------------------
    你确定你是远程连接Sql2000?明显你的连接字符串有问题
      

  10.   

    我试了N多种连接方式
    Data Source=192.168.1.1;Initial Catalog=test;User Id=test;Password=123456 (这种是失败的)
    server=192.168.1.1;trusted_connection=false; user id=test;pwd=123456;database=test;(这种也是失败的)
    Persist Security Info=False;User ID=test;Password=123456;Initial Catalog=test;Server=192.168.1.1 (这种也是失败的)
    还有更多, 这里就不一一列举了.....最后试了这种, 既然搞定了
    Data Source=192.168.1.121,1433;Network Library=DBMSSOCN;Initial Catalog=test;User ID=test;Password=123456; 具体里面什么机制,为什么可以,我就不清楚了, 呵呵