确定ODBC中SQL连接使用的是TCP/IP

解决方案 »

  1.   

    没有使用odbc,我在程序里写的连接字符串
      

  2.   

    参考:用ADO连接到防火墙后的SQL Server1.  防火墙必须配置为允许1433端口为引入端口,以及1024-65535为外出端口2.  连接字符串必须指定SQL Server地址:IP地址,服务器DNS名字或host文件里的名字3.  连接字符串应当指定Network Library类型,在这种情况下"dbmssocn" (没有引号)为TCP/IP Sockets Net-LibrarySet Conn = CreateObject("ADODB.Connection")Set Rs = CreateObject("ADODB.Recordset")Set Cmd = Createobject("ADODB.Command")    Conn.Open "Provider=SQLOLEDB;Password=password;Persist Security Info=True;User ID=username;Initial Catalog=DBNAME;Data Source=servername;Network Library=dbmssocn"Cmd.ActiveConnection=ConnSQL = "Select * from TABLE"Cmd.CommandText = SQLSet Rs = Cmd.Execute如果卸载了,检查端口和网络库,客户端网络配置
      

  3.   

    要是装了查询分析器就没问题了!
    我的连接串是:
    Provider=SQLOLEDB;Persist Security Info=False;Use
    ID=username;Initial Catalog=datebasename;Data Source=ipAddress;
    总是出现连接超时,登陆失败!但是装了 sql server 后就可以了!
    是什么原因?请教 OpenVMS
      

  4.   

    不会让我每个客户端都装一个sql server吧!!!
      

  5.   

    上面有两个问题:其中,各客户端不需要安装SQL SERVER,想一想多麻烦。只要移植两个核心DLL文件便可。
    1、dbnmpntw.dll;2、dbnetlib.dll
    将之移植到SYSTEM32目录下便可。第二个问题是防火墙 问题。
       因为一般SQL SERVER的客户端访问都是通过1433端口处理的,所以在防火墙那儿将1433端口放开,或者只允许某些机器使用便可以了。
      

  6.   

    把连接串该为"Provider=SQLOLEDB;Password=password;Persist Security 
    Info=True;User ID=username;Initial Catalog=DBNAME;
    Data Source=servername;Network Library=dbmssocn"
    就解决了,谢谢 OpenVMS(半知半解) 
    在请教;Persist Security Info=True;和=false有什么区别?
    SQLOLEDB和SQLOLEDB.1又有什么区别?
      

  7.   

    我也遇到这样的问题,客户端程序是自己编写的。
    你需要把防火墙端口打开,之后在服务器上用sqlserver的客户端输入ip连接(确保TCP/ip)已经打开。能构连上,那么就到客户端测试,如果还不能估计是win98,重启就好啦!