本人在用D7+SQLSERVER2000开发的过程中发现ADO的connectstring是下面的值:
strConn := 'Provider=SQLOLEDB.1;Password=pwd;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=211.137.210.1'  时 如果这个远程sqlserver数据库的端口是默认端口时是可以连接的,但是如果这个远程的数据库的端口不是默认的,比如为4321时,这种连接就会失败,我也试着在IP地址后面直接加上端口号了,比如211.137.210.1:4321,但是这样也是连接不上,请问各位高手有谁知道这种情况的解决办法,请赐教?
另:如果不用代码的形式,直接在设计的时候怎么设置,我至今没有找到设置连接端口的地方,请问这个设置在哪里?需要说明的是,不要使用sqlserver带的“客户端网络实用工具”因为开发的产品不可能让用户去安装sqlserver,也不可能让用户去设置。如果有其他的解决办法也请赐教,非常感谢!

解决方案 »

  1.   

    应该只有使用别名或者用 dbexpress好象可以
      

  2.   

    Data Source=190.190.200.100,1433要用逗号指出端口!!!!
      

  3.   

    zhbbadboy(冷雨孤灯) 说得对ConnectionString设置如下:Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=ebookdata;Data Source=192.168.0.128,1433或者Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=ebookdata;Data Source=MachineName,1433不能这样:
    Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=ebookdata;Data Source=.,1433
    或者
    Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=ebookdata;Data Source=(local),1433这接设置的时候和原来一样,只是服务器名后加逗号和端口号。
      

  4.   

    为了保证成功连接, 除了正确设置Provider之外,还必须保证以下两点:
    1.首先必须保证能够 PING 到 211.137.210.1
    2.监听远程端口1433 正常:  telnet 211.137.210.1 1433