iConcstr = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=qq;password=111;Initial Catalog=abc;Data Source=10.0.0.1"
 
Set iConc = New ADODB.Connection
iConc.open iConcstr
----------------------------------------
不正常运行情况
这是远程链接代码,运行exe时 报错数据库无法连接正常运行情况
在cmd里 \\10.0.0.1\ 与对方主机建立连接后,再运行exe 就正常执行了。
或者  找台装了sql server的机器,运行exe后执行正常。
=======================================希望各位大侠指点,再次谢过

解决方案 »

  1.   

    程序是vb写的,是不是adodb 运行时调用了sqlserver里的动态库没有装sqlserver的机器 就不能运行这个exe请高手指点,谢谢
      

  2.   

    奇特情况本来不能链接数据库的配置了一个odbc,然后运行exe 居然成功了
    把配置的odbc删除,已经可以运行成功,奇。感谢大侠指点
      

  3.   

    这是连接数据库的协议不是Tcp/ip,就会这样子的,
    我也碰到好几次了,只要配置一下ODBC就可以用了
      

  4.   

    这是连接数据库的协议不是Tcp/ip,就会这样子的,
    我也碰到好几次了,只要配置一下ODBC就可以用了
    ------------------------------------------------------
    感谢,那是不是用了这个软件的机器都要配置ODBC?有没有代码实现 “连接数据库的协议是Tcp/ip”?感谢各位大侠。
      

  5.   

    Provider=sqloledb;Network library=DBMSSOCN;Initial catalog=databasename;User ID=sa;Password=;Data Source=服務器IP地址,端口
      

  6.   

    aijilong(小艾)您好,可以具体些吗?
      

  7.   

    Network library=DBMSSOCN这才是关键,表示使用TCPIP协议而不是通常的命名管道。
      

  8.   

    感谢大侠的建议
    iConcstr = "Provider=SQLOLEDB.1;Network library=DBMSSOCN;Persist Security Info=False;User ID=qq;password=111;Initial Catalog=abc;Data Source=10.0.0.1"可是还是不能成功 :(再顶
      

  9.   

    vb 有没有调用sql 里的dll 之类的?
    感谢各位大侠
      

  10.   

    你有没有用数据源啊,如果有,在控制面板--管理工具--配置ODBC里可以更改TCP/IP协议和命名管道,如果你用命名管道不行,就换成TCP/IP,然后测试一下数据源看测试成功否,成功救OK了!
    还有你首先要保证你机子能直接访问到那台主机 ,不需要输入密码,就可以直接访问那边共享的东西!如果还不行,装个SQL SERVER客户端工具然后再去测试一下数据源,应该可以!
    祝你好运!:)
      

  11.   

    hr88rong(阿榕),感谢可能我没有说清楚
    ----------
    本来不能链接数据库的
    配置了一个odbc,然后运行exe ,数据库连成功了
    把配置的odbc删除,依然可以连接成功。那是不是用了这个软件的机器都要配置ODBC?
    有没有代码实现 “连接数据库的协议是Tcp/ip”?加上了这句 Network library=DBMSSOCN,在没有配置ODBC的机器上运行exe 连接数据库失败
    ------------------------------------------
    问题:
    1> 每台机器都要配置ODBC是不是很麻烦?
    2> 有没有变相的方法让这个程序在机器(没有安装vb6,sql server,没有配置ODBC的机器)上运行成功呢? 就是仅仅依靠代码小弟再次谢过各位大侠
      

  12.   

    正常运行情况
    在cmd里 \\10.0.0.1\ 与对方主机建立连接后
    ===========
    如此你 可以用 Winsocks 模拟连接
    事实上 先用 Winsocks 先进行连接有些好处,作个服务器端,负责接客户端的操作
      

  13.   

    感谢各位大侠
    加了一个端口号,问题解决了。现在有了新问题,在2000下和数据库连接没有问题到了xp下  就会timeout请各位大侠指教,感谢。
      

  14.   

    开发程序本身是在xp+sql server+vb6环境下开发的
    本机连接没有问题再次感谢。
      

  15.   

    Private Sub Class_Initialize()
       'On Error GoTo DbnotOpen
       Set cnSoft = New ADODB.Connection
       With cnSoft
       .Provider = conProvide
       .ConnectionString = conString
       .ConnectionTimeout = 60
       .Open
       Set rst = New ADODB.Recordset
       End With
       Exit Sub
    End Sub
    -------------------------------------------------
    这是activeX dll中的其中一个class Module里一段。这个activeX dll是被一个pb程序调用的,pb程序在xp上连接数据库也很慢,但可以连上,这个activeX dll就time out但是在2000中,不管是pb还是activeX dll 连接数据库都很快
    感谢各位大侠指教~