with那段代码就是设定connection对象。
你使用的是ODBC连接的数据库,先察看ODBC能否连接上SQL Server

解决方案 »

  1.   

    RDO只能进行远程连接,ADO则远程和单机都可以连!
      

  2.   

    With cnPis
       .Connect = "dsn=testserver;uid=jw_liu;pwd=Jw_liu;database=pisdata"
       .CursorDriver = rdUseOdbc
       .EstablishConnection Prompt:=rdDriverNoPrompt
    End With上面的代码其实是使用DSN文件用ODBC的方法连接SQL Server(RDO)
    其实尽量不要用DSN,下面是一个用ADO写的连接函数!'DSNLess Use ODBC(ADO)
    Private Function ConnectSQLServer(ByVal ServerName As String, ByVal DataBase As String, ByVal UID As String, ByVal PWD As String, ByVal Timeout As Integer) As Boolean
          
        Dim strConnect As String
          
        On Error GoTo Error_ConnectServer
        
        cn.CursorLocation = adUseClient
        strConnect = "Driver={SQL Server};Server=" & ServerName & ";DataBase=" & DataBase & ";UID=" & UID & ";PWD=" & PWD & ";"
        cn.ConnectionString = strConnect
        cn.ConnectionTimeout = Timeout
        cn.Open
        
        ConnectSQLServer = True
        Exit Function
        
    Error_ConnectServer:
        ConnectSQLServer = FalseEnd Function
      

  3.   

    ADO是发展方向,VB.NET里只支持ADO.NET
      

  4.   

    ado要通过odbc才能访问远程数据库!rdo好像不要!(我不大用!)