sql2005是安装在WINXP下的,现在客户端的连接软件主要运行在WIN98或WIN2K上。SQL2005中的协议全打开了,客户机上没有安装SQL2005的客户端。ADO2.8版。客户端程序在SQL2005机器上运行是没有问题的,但是换到WIN98或WIN2K上就连接不到数据库了。
1、我的连接字符串:provider=sqloledb.1;password=XXX;persist security info=true;user id=sa;initial catalog=XXX;network library=dbmssocn;data source=192.168.1.123
2、用这个连接字符串连接SQL2000是没有问题的;
3、如果把network library改为命名管道协议,就可以连接SQL2005,因为其它机器有访问SQL2005这台机器的权限。
现在我的问题是:能不能在我的连接字符串中,provider和network library两项参数不变的情况下连接到SQL2005数据库,需要一些什么设置?为什么这样做,原因有三:1、通过命名管道协议连接数据库没有通过TCP/IP协议连接方便,需要对客户机和服务器做很多访问权限设置;2、SQLOLEDB.1在WIN98WIN2K上都自带,不用再在每台客户机上去安装SQL2005的客户端。3、以便于客户将SQL2000升级到SQL2005,软件不做任何修改就可以正常使用。请各位SQL2005数据库专家指点迷经,我在网上搜索了几天了,也没有找到个结果,希望各位分享一下经验,谢谢!

解决方案 »

  1.   

    一定哪数据连接驱动有关.
    将最新版的Ado安装到客户端看看.
    或者将开发机器或服务器上的DbNetLib.dll拷贝到客户机的system32目录下试试
      

  2.   

    还是不行,更换了dbnetlib.dll也不行
      

  3.   

    学习下,不过我先说下我的实际情况,我也是使用SQL2005进行开发的DELPHI程序,不在客户机安装客户端怎么也连接不通,即使关闭所有的防火墙,打开所有可以打开的协议也不行,非常的郁闷,甚至根据DOBC中的DNS连接一样也不行。所以我不清楚问题是出在哪里。
      

  4.   

    persist   security   info=true;
    network   library=dbmssocn;
    这两行去掉看看。