四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?回复人: leimin(黄山光明顶) 
 
这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置
为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE
的顺序。你也可以在:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
看到默认的协议。2.怎么在程序中更改Named Pipes , Tcp/ip ,其sql语句怎么写?
你可以在上面提到的注册表的位置修改:
CLIENT端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00SERVER端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

解决方案 »

  1.   

    估计是你的tcp/ip协议没有正常工作.你可以在网络属性中,删除所有的网络协议(服务器端和客户端都要),然后重新安装,并只安装tcp/ip协议
      

  2.   

    做这些之前,你可以用下面的方法来检查协议是否工作正常1.SQL Server服务器--开始--程序--Microsoft SQL Server
    --服务器网络实用工具
    --看看启用的协议中,有没有"TCP/IP"  如果没有的话,那就肯定不能用IP地址连接的,因为IP地址是使用TCP/IP协议的
      不启用TCP/IP就禁用了IP地址连接
    2.如果已经启用了TCP/IP,则在"服务器网络实用工具",点属性,看看默认端口是多少
      如果不是1433,则连接的时候要用: IP地址,端口号  做为sql服务器名来连接
    3.如果还是不行,检查你的TCP/IP协议是否工作正常,最好是删除重新安装一次
      一般的检查方法是:
      a.保证ping <服务器IP地址> 通(有防火墙的先关闭防火墙)
      b.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错
      

  3.   

    1.启用
    2.是1433
    3.a:ping通;b:不会报错用IP地址连就是连不上:
    [DBNETLIB][ConnectionOpen(PreLoginHandshake()).]General network error.Check your network documentation.
      

  4.   

    除了删协议外,,都试了,,正常。tcp/ip协议工作也是正常的,那台机器上涉及tcp/ip的设置太多了,删了重装该协议还要配置很多东西,不删了。使用tcp/ip协议的其他程序没问题,所以tcp/ip协议应该是正常的。
      

  5.   

    如客户端是win98或win2000,
    运行cliconfg,将网络库改成tcp/ip.
      

  6.   

    strConn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=develop; password=12345;Data Source=ServerName"
      

  7.   

    General network error
    -------------------------
    网络配置出了问题
    原因不明,还是用机器名吧
      

  8.   

    我那個代碼在VB里運行﹐可以打開數據庫﹐不用數據庫名的。有(服務器名﹐用戶名﹐密碼)--->OK!
      

  9.   

    在内网中,连接语句的server部分为:
    server=192.168.1.1\MainSql;
    MainSql为Sql名称,在服务器的SQL服务管理器上可以看到。
      

  10.   

    我的已经解决,你试试看可以吗
     步骤: 1、进入服务器的“客户端网络实用工具”——单击“别名”
            2、在下面添加“服务器别名设置”,在“网络库中”选择“TCP/IP”,服务器别名就用服务器IP地址,端口号是 1433
      

  11.   

    上面我说的是在客户端设置。
    我发现这个问题好象主要与用户在安装服务器时,是否是默认的事例有关
    具体的访问方式如下:
    默认实例用 机器名(或ip)就行,
    命名实例要用 机器名(或ip)\实例名.