我使用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"
}
错误因此似乎是在目标数据库的初始化中 - 我不是管理员用户,但不明白为什么登录失败,因为我可以访问数据库并且可以很好地连接到服务器。任何帮助将不胜感激。
答案 0 :(得分:1)
在第二个示例中,而不是" Trusted_Connection = Yes",尝试"集成安全性= SSPI"
答案 1 :(得分:0)
感谢您的回复 - 我现在已经设法找出问题所在。数据库很好,因为它存在并且对我的访问没有任何限制。此外,对服务器的访问很好(例如,在用户凭证或SSPI与可信连接方面)。
这个问题实际上只是一个非常基本的错误 - database_name变量存储在方括号中(正如在普通的SQL代码中所引用的那样):
{database_name = "[database]"
}
删除方括号可启用代码工作