我试图在SQL数据库中运行存储过程(使用Access VBA)。我可以在SO和其他网站上找到一些这样的例子,但我无法找到的是连接字符串,我可以提供我的登录详细信息,因为Windows身份验证不起作用,因为我必须使用不同的用户连接到SQL数据库
这是我到目前为止所尝试的(从SO中的一个帖子得到这个,不幸的是,我再也找不到帖子了):
Sub RunSQLProc()
Dim cdb As DAO.Database, qdf As DAO.QueryDef
Set cdb = CurrentDb
Set qdf = cdb.CreateQueryDef("")
qdf.Connect = "ODBC;" & _
"Driver=SQL Server;" & _
"Server=myServer;" & _
"Database=myDatabase;" & _
"UID=myUsername;" & _
"PWD=myPassword;" & _
"Trusted_Connection=yes;"
' "Driver={SQL Server Native Client 11.0};" & _
' "MARS Connection=True;"
qdf.SQL = "SQLStroedProcedure;"
qdf.ReturnsRecords = False
qdf.Execute dbFailOnError '<-- this line throws the error
Set qdf = Nothing
Set cdb = Nothing
End Sub
在qdf.Execute dbFailOnError
行,我收到以下错误:
运行时错误'3151':ODBC - 与'SQL ServermyServer'的连接失败。
我已设法连接到SQL数据库并通过SQL Server Management Studio运行存储过程。这告诉我连接字符串中的详细信息是正确的(虽然我没有提供实际的详细信息),但我怀疑我的连接字符串存在问题。
很高兴提供更多细节。非常感谢任何帮助,谢谢
附:对我在Access中缺乏知识表示歉意。我只是不经常使用它
使用SQL Server安全性删除Trusted_Connection=yes
。
https://www.connectionstrings.com/microsoft-sql-server-odbc-driver/