使用Microsoft Visual Studio 2005连接数据库时出现如下错误:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 。其中,已允许远程连接到此服务器,服务器身份验证采用 SQL Server和Windows身份验证模式;登录名sa,已启用;同时使用TCP/IP和named pipes,本地和远程连接。
字符串连接使用一下语句:
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "server=.\\SQLEXPRESS;database=employ;uid=sa;password=654321";请问,这个错误怎么解决啊?论坛里关于这个问题已经有很多解决方法,但是在我这里都不适用,请高手指点,是不是还有我们没有发现的问题,导致了以上错误。

解决方案 »

  1.   

    error: 26 - 定位指定的服务器/实例时出错
      

  2.   

    允许TCP/IP和命名管道是否设置
    Sql Server Browser是否启动
    SQL的登陆方式,选用混合方式
    连接字符串问题,服务器名和数据库是否正确
    Server=127.0.0.1/SQLEXPRESS 
      

  3.   

    另外,这其实只要双方的都支持命名管道就行了,不需要TCP支持。也就是说服务器端并不需要开启SQL Server的tcp支持服务。
      

  4.   

    另外我给你多说两句,实际上这类问题应该首先与程序开发过程分开而独立地去解决。如果你暂时还没有十足的把握去玩定你的SQL Server服务,就先不要去扯你的程序代码,而要先去独立地搞定SQL Server服务器系统的客户端通讯。使用vs的服务器管理器,或者sql server的服务器管理工具平台,或者是osql!我举出最后一种的例子:1. 打开你的windows 命令行窗口,键入以下命令
        C:\Dir>osql -L
    这就可以查看当前命名管道方式可以访问到的所有数据库服务的实例。2. 使用以下命令测试登录到sql server:
        C:\Dir>osql -E
    或者
        C:\Dir>osql -S .\sqlexpress -E
    或者
        C:\Dir>osql -S . -U sa
    或者
        C:\Dir>osql -S (local) -U sa
    或者
        C:\Dir>osql -S .\sqlexpress -U sa
    或者
        C:\Dir>osql -S 主机\实例 -U sa
    等等。3. 登录上去之后,你可以直接从键入多行sql命令,或者从一个文本文件拷贝入一堆sql命令,然后打入go回车,执行命令。还可以不登录进去,而是使用osql的-i、-o参数让它自动执行一个文本文件中的指令,并将结果输出到文本文件。
      

  5.   

    不需要开启SQL Server的TCP支持服务,那如果开启了也没有关系吧?
      

  6.   

    输入C:\>osql -E 结果如下:
    [SQL Native Client]命名管道提供程序:无法打开与SQL Server的连接[2].
    [SQL Native Client]登录已过期
    [SQL Native Client]建立到服务器的连接时发生错误。连接到SQL Server 2005时,
    默认设置 SQL Server不允许远程连接这个事实可能会导致失败。已经更改了默认设置,允许远程连接,怎么会出现这个问题呢?