VBA

时间:2017-02-21 15:33:49

标签: sql-server vba excel-vba excel

我使用VBA宏在Excel和SQL Server之间创建了一个连接,但是连接字符串有些困难 - 特别是初始目录参数。

当我运行以下内容时,我的连接正常,我可以通过引用完整的表路径([dbname]。[dbo]。[tablename])将数据复制到Excel中。

{conn.open = "Provider=SQLOLEDB;Data Source=" & Server_Name & ";Trusted_connection=yes"}

但是,当我运行不同版本的连接字符串(如下所示)时,连接失败并显示以下错误:

{"Provider=SQLOLEDB;Data Source=" & Server_Name & ";Initial Catalog=" & Database_Name & ";Trusted_connection=yes"}

error message

错误因此似乎是在目标数据库的初始化中 - 我不是管理员用户,但不明白为什么登录失败,因为我可以访问数据库并且可以很好地连接到服务器。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

在第二个示例中,而不是" Trusted_Connection = Yes",尝试"集成安全性= SSPI"

答案 1 :(得分:0)

感谢您的回复 - 我现在已经设法找出问题所在。数据库很好,因为它存在并且对我的访问没有任何限制。此外,对服务器的访问很好(例如,在用户凭证或SSPI与可信连接方面)。

这个问题实际上只是一个非常基本的错误 - database_name变量存储在方括号中(正如在普通的SQL代码中所引用的那样):

{database_name = "[database]"}

删除方括号可启用代码工作