环境介绍:本地服务器:WIN2000 SERVER 机器名称:GUOHE-8FB833649 IP:192.168.2.110 数据库为SQL2000 要访问的数据库是GUOHE.
连接代码:Private Sub Command1_Click()
Dim conn As New ADODB.Connection
Dim rs  As New ADODB.Recordset
Dim m As Integer
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionTimeout = 30
conn.Open "provider=sqloledb.1;persist security info=false;user id=sa;password=123456;initial catalog=guohe;data source=192.168.2.110"
rs.Open "select * from gh_fh , conn, adOpenStatic, adLockReadOnly, adCmdText"
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.CloseEnd Sub
运行后出现:实时错误码'2147467259(80004005)
无法打开登陆'guohe'中请求的数据库,登陆失败.
请高手看看,到底问题出在哪儿了,试了好久,还是不行.先谢谢啦.是不是SQL里面的设置不对啊

解决方案 »

  1.   

    '在SQL中确认数据库名是否正确,用下面的连接代码试试
    With conn
        if .State = adStateOpen Then .Close
        .ConnectionString = "driver=SQL Server;server=计算机机名或IP地址;uid=sa;pwd=sa的密码;database=数据库名"
        .CommandTimeout = 0
        .Open
    End With
      

  2.   

    把Dim conn As New ADODB.Connection 
    Dim rs  As New ADODB.Recordset
    改成
    Dim conn As ADODB.Connection 
    Dim rs  As  ADODB.Recordset
    试试
      

  3.   

    改你说的那样还是不行哦,在.OPEN那出错,提示一样的不能打开,登陆失败
      

  4.   

    LZ你的open语句写错了
    把它改为rs.Open "select * from gh_fh ", conn, adOpenStatic, adLockReadOnly, adCmdText 就可以了
      

  5.   

    请确认数据库和表的名称没有错,rs.Open "select * from gh_fh , conn, adOpenStatic, adLockReadOnly, adCmdText" 改成rs.Open "select * from gh_fh ", conn, adOpenStatic, adLockReadOnly, adCmdText" 
      

  6.   

    在SQL数据库中服务器的安全属性,登陆模式改为第一个.
      

  7.   

    服务器的安全模式改为windows验证和sql server身份验证,你再试试