我用sql server2000做数据库,ado控件连接数据库,做一个网络版的管理系统,连接方法如下:ConnStr = "Provider=SQLOLEDB.1;Password='';Persist Security Info=True;User ID=guest;Initial Catalog=yydjb;Data Source=172.20.7.100"
我的操作系统是2000server,这样做出的程序在其他有些机器上能运行,有些不行,目前一台98行,一台不行,两台2000都不行。
请问在连接上有什么不对嘛?还是有其他像sql server什么的没有配置好?
或者有什么其他方法嘛?
上面:yydjb是数据库名称;172.20.7.100是我这台服务器ip

解决方案 »

  1.   

    Public cn  As New ADODB.Connection
    cn.ConnectionString = "provider=" & providercob & ";server=" & servernametxt & ";uid=" & uidtxt & ";pwd=" & userpwd & ";database=" & DatabaseName
    cn.CursorLocation = adUseClient
     cn.Open
    按照上面的格式试试应该没问题的。
      

  2.   

    错误信息是什么?你在vb工程里边引用的是哪一个版本的ADO?查看一下相应机器上对应的msado.dll版本是否正确。另外,在2000和98下边要分别是用不同的msado.dll。
      

  3.   


    在菜单中选 工程--引用,在列表中把 Microsoft AD0 2.5打上钩。
    和你系统没关系.
      

  4.   

    先说说你引用的是那个版本的ADO吧。我通常在2000下都用的ADO 2.7 Library,对应的是\Program Files\Common Files\System\Ado\Msado15.dll。但是在98下边,同样是msado15,在工程文件里边引用的就不是2.7而是2.1。但是这两个Msado15.dll大小和版本都不一样,而且,如果你想引用2000下边那个版本的msado15.dll,显示出来的也不是2.7而是2.5。
      

  5.   

    我的是2.6的
    msadox.dll版本是2.60.6526.0
    行嘛?
      

  6.   

    我机器上的情况:msadox.dll是 Microsoft ADO Ext. 2.5 for DDL and Security
    msado26.tlb才是Microsoft Activex Data Objects 2.6 Library。你用的是哪一个啊?
      

  7.   

    你的机器上一定是引用了某个ado的,否则没有任何可能使用ado来连接数据库。
      

  8.   

    msadox.dll是 Microsoft ADO Ext. 2.6 for DDL and Security
    Microsoft Activex Data Objects 2.5 Library
    怎么2.5  2.6刚好和你反过来阿,这怎么解决阿?
      

  9.   

    要引用的是 Microsoft Activex Data Objects,具体那个版本应该没有特别大的关系。通常我都选用最高的那个版本 :)