无法从不同区域的工作站连接到MySQL Server

时间:2016-12-20 21:38:09

标签: mysql excel vba excel-vba macros

我有一个从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数据源管理器中的这些参数测试我的连接,它运行正常。连接很完美。

你们是否知道为什么在相同配置下的某些计算机无法正常工作而其他计算机无效?

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

2 个答案:

答案 0 :(得分:0)

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

并根据此处的链接添加VBA Run-time error '-2147467259 (80004005)

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

答案 1 :(得分:0)

谢谢你们。经过我和我的IT经理之间的大量沟通,我们同意问题出在用于MySQL的版本中,32B对64B。 Workstation B具有64B OS系统,但是32B Office Package。

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

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