【问题标题】:Cannot connect to MySQL Server from workstation in different region无法从不同区域的工作站连接到 MySQL 服务器
【发布时间】:2017-05-06 05:17:23
【问题描述】:

我有一个从 MySQL 服务器提取信息的宏。这个宏是从不同地区的不同工作站访问的。当我从我的计算机(工作站 A)运行它时,它运行良好。但是,我们在其他区域(工作站 B)设置了新计算机,这给了我一个 连接字符串 问题。

工作站 B 的设置方式与工作站 A 的设置方式相同。使用相同的 Windows 版本(64 位)和相同的 Excel 版本(32 位)。两个工作站都安装了 MySQL 驱动程序和 ODBC 连接器,但工作站 B 仍然存在连接问题。

这是我正在使用的 MySQL 连接字符串:

Driver={MySQL ODBC 5.3 ANSI Driver};Server=server.name.com;Port=3306;Database=db;User=macro;Password=********;

这是它启动错误的时刻:

Set oConn = CreateObject("ADODB.Connection")

On Error GoTo Error_Handler1
oConn.Open strConn
On Error GoTo 0

我得到的错误是:

运行时错误 '-2147457259 (800004005) 由于系统错误 126,无法加载指定的驱动程序:找不到指定的模块。 (MySQL OBDC 5.3 ANSI 驱动程序,C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5a.dll

这是我在工作站 A 中使用的相同连接字符串,它正在工作。

但是,我使用 ODBC 数据源管理器中的这些参数测试我的连接,它工作得很好。连接是完美的。

你们知道为什么这不能在相同配置下的某些计算机上工作而其他计算机不能工作的原因吗?

我非常感谢人们提出的任何想法 - 谢谢。

【问题讨论】:

  • 错误信息??
  • 在 MYSQL 中,数据库管理员也可以根据域名限制用户。两个工作站是否在同一个域中?您的数据库管理员将能够为您提供帮助。
  • 运行时错误'-2147457259 (800004005)':
  • @Barney 我在数据库中的用户名可以不受限制地从任何域运行。我已经检查过了

标签: mysql vba excel macros


【解决方案1】:

看看我在你的 MySQL 代码Port=3306Database=db 中复制的这部分,你忘了在它们之间添加;。我认为这是错误的原因

也可以根据这里的链接添加VBA Run-time error '-2147467259 (80004005)

根据需要安装的参考是正确的 32 位还是 64 位?

【讨论】:

  • 我在问题中更正了这一点,因为我也注意到了这一点。我认为这可能只是问题中的一个错字,因为 OP 已经声明连接字符串适用于 Workstation A。
【解决方案2】:

谢谢你们。经过我的 IT 经理和我的大量沟通后,我们一致认为问题出在 MySQL 使用的版本上,32B 与 64B。工作站 B 有一个 64B 的 OS 系统,但有一个 32B 的 Office 包。

我的建议是安装 MySQL 驱动程序,32B 和 64B。这解决了我的问题。

有关更多有价值的信息,请关注此帖子: excel vba mysql ado connection

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2011-12-13
    • 2015-08-01
    • 2019-09-29
    • 2018-12-12
    • 2016-09-10
    • 2015-05-10
    相关资源
    最近更新 更多