以下是代码:
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相关联。
人
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相关联。
人
我在安装SQL SERVER时在用户身份验证时选了‘仅Windows ’
server=SG-TTBVVNLC68KI\INST2;database=pubs;Integrated Security=SSPI");
果然是高人啊!
一句话就搞定问题了!!
请 online(龙卷风V3.0--笑傲江湖) 能解释一下原因吗?
SG-TTBVVNLC68KI\INST2为什么不是Data Source而是server呢?是不是与服务器端还是客户端有关呢
还有Integrated Security=SSPI是什么意思 ??
轃轃回答完即给分结贴!!谢谢
参考http://www.chinaitlab.com/www/news/article_show.asp?id=20650http://www.farwen.com/ReadNews.asp?NewsID=3045
信任连接 Integrated Security=SSPI
--------------------------------------------------------
在安装时选了‘仅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"