我在win 2000server的电脑上写完客户端程序,并能很好的连接本机上的SQL数据库。
换到别人2000pro上,救显示错误:Run-time error"1147467259(80004005)"
                              [DBNMPNTW]找不到指定的SQL server 
  我程序中连接数据库的代码是:
   dim adoConnection as new adodb.connection
  adoConnection.Open "Provider = SQLOLEDB;Server = Kevin ; Initial Catalog = 799;User ID = sa;Password = "
 
这是我头次用VB写程序,往大侠们指点啊!!!
(BTW:在客户机上可以通过ODBC访问我的数据库测试成功,我只知道可以用两种方法连接,但不晓得用ODBC的方式在本机上也不行,我试着写的ODBC的连接代码是:adoConnection.Open "Provider = MSDASQL;DSN=799; Initial Catalog = 722;UID = sa;PWD = ;"但运行的时候总是提示缺少驱动,请问这段该怎么写才对呢,799是数据库和ODBC中对应该数据库的DSN

解决方案 »

  1.   

    Server = Kevin ;改成Data Source = Kevin ;
      

  2.   

    'Microsoft OLE DB Provider for ODBC
    cnDatabase.Open "Provider=MSDASQL;DRIVER={SQL SERVER};SERVER=Kevin;Uid=sa;Pwd=;database=799" 
    'Microsoft OLE DB Provider for SQL Server
    adoConnection.Open "Provider = SQLOLEDB;Data Source = Kevin ; Initial Catalog = 799;User ID = sa;Password = "
      

  3.   

    上面代码中当密码为为空时Pwd=; 和Password=;可省略
    默认的Odbc驱动为MSDASQL;所以第一种用odbc连的代码中Provider=MSDASQL;也可省略
      

  4.   

    确定客户端有Dbnetlib.dll 和 Ssnetlib.dll
      

  5.   

    如果代码没问题的话就是网络的问题了,你试一下建一个ODBC,然后测试连接,看能不能链上!!
      

  6.   

    不必自己写connection string,你用一个ADODC控件建立一个指向你的数据库的连接(选MS SQL 的),测试OK之后切下ADODC的connection string便是最标准的了,也不必通过ODBC,广东人说"多个香炉多个鬼",很有道理的.
      

  7.   

    你的链接字符串有问题。
    adoConnection.Open "Provider = SQLOLEDB;data source= Kevin ; Initial Catalog = 799;uid=sa;pwd=;"
    或者是
    adoConnection.Open "driver={SQL Server};server= Kevin ;database= 799;user ID=sa;Password=;"
      

  8.   

    工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)    Dim CN   As New ADODB.Connection                '定义数据库的连接
      
        CN.ConnectionString = "Provider=sqloledb;Data Source=Kevin;Initial Catalog=799;User Id=sa;Password=XX;"    CN.Open
      

  9.   

    CN.ConnectionString = "Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库;User Id=用户名;Password=密码;"
      

  10.   

    '新建一个数据库连接
        Set g_Connection = Nothing
        Set g_Connection = New ADODB.Connection
            
        With g_Connection
            .ConnectionString = "Provider=SQLOLEDB.1;Password=" & 登陆密码 & ";Persist Security Info=True;User ID=" & 登陆用户名 & ";Initial Catalog=" & 数据库名 & ";Data Source=" & 数据库服务器名
            .Mode = adModeReadWrite
            .Open
        End With
        
        '返回数据库连接
        Set CreateConnection = g_Connection