本人使用的是VB6,后台数据库是MS-SQL2000,在一个局域网里,数据库MS-SQL2000装在一台服务器上,在客户端的另一台机器上做一个前台程序界面,提供四个文本框让用户输入:1.服务器名(例如LabServer).  2.数据库名(例如Lab)  3.用户名(例如aaa)  4.密码(例如123456),只要这四个参数的输入正确,则可以连接上局域网内的那个远程服务器.当然,用户输入的服务器名在这个局域网里必须要存在且正确;数据库名,用户名在那台服务器里也必须要存在且正确,密码也不能错.这样的话则可以不用去管理工具里的ODBC去配置SQL数据源了!直接在前台程序的界面里就可以搞定前台与后台的连接.(其实要达到的效果就相当于是管理工具里的配置ODBC数据源,SQL)PS:只要连接一次之后,则不需要再去连接啦,也就是说,不需要每次启动前台程序时都点击连接一次.希望各位高手指点指点,在此先谢谢了!!!!!

解决方案 »

  1.   

    if cn.State <> adStateOpen then
      cn.ConnectionString = "Driver={SQL Server};SERVER=" & txtSrvr.text & ";DATABASE=" & txtDb.text & ";UID=" & txtUid.text & ";PWD=" & txtPwd.text
      cn.Open
    End If
      

  2.   

    首先要引用工程->引用->Microsoft ActiveX Data Object 2.6 Library (后面为版本号)
      

  3.   

    Sub ConnectSqlserver()   Set myrstSql = New ADODB.Recordset
       Set myConSql = New ADODB.Connection
       myConSql.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
                                "Data Source=sql server name;" & _
                                "User ID=;" & _
                                "pwd=;" & _
                                "Initial Catalog=db"
       myConSql.ConnectionTimeout = 30
       myConSql.Open
    '   MsgBox "ok"End Sub
      

  4.   

    ConnectString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=XXXX;pwd=XXXX;Data Source=192.168.0.100"
    On Error Resume Next
    If DBtest.State <> adStateClosed Then DBtest.Close
    DBtest.ConnectionString = ConnectString
    DBtest.CursorLocation = adUseClient
    DBtest.ConnectionTimeout = 5
    DBtest.Open
      

  5.   

    myCon.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=northwind;Data Source=yang"或者
    myConSql.ConnectionString = "driver={SQL Server};server=yang;uid=sa;pwd=;ConnectionTimeout=0;database=northwind"已经很清楚了
    northwind是数据库名,yang是数据库服务器名
    你相应的更换就可以了
      

  6.   

    同意sangshuyezi(桑树叶子) 
    其实可以用主程序连接时从配置文件取数据
    ,用子程序修改配置文件就可以了