我遇到了从Excel VBA连接到SQL Server数据库的问题。我主要怀疑由于包含双引号的密码处理不正确而导致发生错误。VBA连接字符串中的错误
情景:
- SQL服务器名称 - FOO \ BAR
- 初始目录 - 滚动条
- 用户 - Test_User
- 密码 - tejg3kl”
连接字符串我正在使用的是:
Public Const ConnectionStringONLINE = "Provider=SQLOLEDB.1;Data Source=FOO\BAR;Initial Catalog=ScrollBar;User Id=Test_User;Password=tejg3kl!"";"
密码值中包含一个额外的双引号作为转义序列字符。
代码以连接到数据库 -
Dim DbConn As ADODB.Connection
Set DbConn = New ADODB.Connection
DbConn.Open ConnectionStringONLINE
当执行上面的代码,收到错误 -
运行时error'-2147217843(80040E4D)':
用户'Test_User'登录失败。
我对连接字符串中指定的相同凭据做了UDL测试,并且连接正常工作。
有关为什么在VBA中发生错误的任何建议?我是否需要修改连接字符串?
编辑 - 只需更改密码字符串以在双引号之前包含感叹号,使其看起来与我正在使用的真实密码完全相同。
密码是否包含'“”'?您的连接字符串,因为它会导致语法错误... –
亚历克斯 - 密码正是这个tejg3kl“ – StarDotStar
检查此:http://www.connectionstrings.com/sql-server-native-client-11-0- oledb-provider/ –