【问题标题】:SQL to Excel connection in VBAVBA 中的 SQL 到 Excel 连接
【发布时间】:2017-02-21 15:33:49
【问题描述】:

我已经使用 VBA 宏在 Excel 和 SQL Server 之间创建了一个连接,但在连接字符串方面遇到了一些困难 - 特别是 Initial Catalog 参数。

当我运行以下命令时,我的连接正常,我可以通过引用完整的表路径 ([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"}

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

【问题讨论】:

  • Database_Name 是什么?它说它无法打开它。这是真的吗?有限制吗?
  • 您需要指定用户凭据吗?

标签: sql-server vba excel


【解决方案1】:

在第二个示例中,请尝试“Integrated Security=SSPI”,而不是“Trusted_Connection=Yes”

【讨论】:

    【解决方案2】:

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

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

    {database_name = "[database]"}

    删除方括号启用代码工作

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多