我做好的一个程序到最后在其他机器上运行的时候连接出错,就是连接远程的SQL数据库时连接不上。请问各位高手,能用ADODB连接到局域网其他机器上的数据库么?下面是我定义的一个连接函数。在本机上已经没问题了,就是不能在其他机器上连接。哪儿错了?我的SQLsever
服务管理器已经开启了。就差着最后一道关了。
Private Function ConenctToDatabase() As Boolean
  On Error GoTo ErrorHandler
  Dim DBName As String, ServerAdd As String, UserName As String, UserPwd As String
  
  ServerAdd = txt(0)
  DBName = "company"
  UserName = "sa"
  UserPwd = ""  Set AdoCon = New ADODB.Connection
  AdoCon.ConnectionTimeout = 10
  AdoCon.CursorLocation = adUseServer
  AdoCon.ConnectionString = "uid=" & UserName & ";pwd=" & UserPwd & _
                            ";driver={SQL Server};server=" & ServerAdd & _
                            ";database=" & DBName & ";dsn=''"
  AdoCon.Open  ConenctToDatabase = True
  Exit Function
ErrorHandler:
  MsgBox "连接到数据库出错", vbCritical, "出现错误"
  Exit Function
End Function

解决方案 »

  1.   

    dim conn as new adodb.connection
    with conn
        If .State = adStateOpen Then .Close
        .ConnectionString = "driver=SQL Server;server=计算机或名IP地址;uid=sa;pwd=;database=数据库名"
        .CommandTimeout = 300
        .Open
    end with
      

  2.   

    客户端访问最好用OLEDB访问.
    即"Provider=msxxx"这样的连接串.
      

  3.   

    同意上面uself的意见AdoCon.ConnectionString="Provider=SQLOLEDB.1;Password=UserPwd;Persist Security Info=True;User ID=UserName;Initial Catalog=DBName;Data Source=ServerAdd"