以下是代码:
Private Sub Form_Load()
Dim mySql As String
Set myConn = New ADODB.Connection
myConn.ConnectionString = "Provider=SQLOLEDB.1;Persist SecurityInfo=False;User ID=sa;Initial Catalog=pubs;Data Source=SG-TTBVVNLC68KI\INST2"
myConn.Open
Set myRecord = New ADODB.Recordset
mySql = "select * from authors"
myRecord.Open mySql, myConn, adOpenDynamic, adLockBatchOptimisticmyRecord.MoveFirst
Text1.Text = myRecord.Fields("au_id").Value
End Sub
运行后出现如下错误:
实时错误:’-2147467259(80004005)
用户‘sa'登陆失败。原因:未与信任SQL Server相关联。

解决方案 »

  1.   

    当我用登陆操作系统的帐号:administrator代替sa时问题一样。
    我在安装SQL SERVER时在用户身份验证时选了‘仅Windows ’
      

  2.   

    试试这种
    server=SG-TTBVVNLC68KI\INST2;database=pubs;Integrated Security=SSPI");
      

  3.   

    online(龙卷风V3.0--笑傲江湖) 
    果然是高人啊!
    一句话就搞定问题了!!
    请 online(龙卷风V3.0--笑傲江湖) 能解释一下原因吗?
    SG-TTBVVNLC68KI\INST2为什么不是Data Source而是server呢?是不是与服务器端还是客户端有关呢
    还有Integrated Security=SSPI是什么意思 ??
    轃轃回答完即给分结贴!!谢谢
      

  4.   

    嘿嘿
    参考http://www.chinaitlab.com/www/news/article_show.asp?id=20650http://www.farwen.com/ReadNews.asp?NewsID=3045
    信任连接 Integrated Security=SSPI
      

  5.   

    我在安装SQL SERVER时在用户身份验证时选了‘仅Windows ’
    --------------------------------------------------------
    在安装时选了‘仅Windows ’,连接代码就不应该包含有User ID=..和Password=..,只有在安装sql时使用指定用户名和密码的方式才使用User ID=..和Password=..
    ‘仅Windows ’:
    myConn.ConnectionString = "Provider=SQLOLEDB.1;Persist SecurityInfo=False;Initial Catalog=pubs;Data Source=SG-TTBVVNLC68KI\INST2"
    ‘指定用户名和密码’:
    myConn.ConnectionString = "Provider=SQLOLEDB.1;Persist SecurityInfo=False;User ID=..;Password=..;Initial Catalog=pubs;Data Source=SG-TTBVVNLC68KI\INST2"
      

  6.   

    在‘指定用户名和密码’的方式中,如果密码为空,则把Password=;去掉