我这几天一直在纠结这个问题。非常感谢任何帮助。
尝试在 PC 上使用 Excel VBA 连接到 MySQL 数据库:
Excel 2007 Windows 7 x64 家庭高级版 MySQL 5.5 MySQL ODBC 连接器 5.1,64 位
在 Excel VBA 中,我引用了 Microsoft ActiveX Objects 2.8 库。
我用来连接的 VBA 是:
Dim oConn As ADODB.Connection
Public Sub ConnectDB()
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & "SERVER=localhost;" & "DATABASE=test;" & "USER=root;" & "PASSWORD=PWhere;" & "Option=3"
End Sub
每次运行此程序时,我都会收到错误对话框:“[Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序”
MySQL 服务确实在运行。
我已经使用 Windows Data Source Administrator 检查 MySQL ODBC Connector 5.1 是否存在且正确:是的,当我尝试以这种方式创建 DSN 时检查确定。
查看 VBA 项目引用选项,我注意到引用大量不同 ADO 库的选项,包括(多维)选项和库版本 2.0、2.1、2.5、2.6、2.7 和 6.0 - 也许是答案在于其中之一?
需要更多详细信息,请告诉我。
最佳答案
您需要使用 32 位或 64 位版本,具体取决于 Excel 的版本,而不是 Windows。因此,即使您运行 Windows 7 64 位,我相信 Excel 2007 也只有 32 位版本,因此您需要使用 32 位 mysql 连接器。
另见 bug report这与您的问题类似。
关于mysql - 使用 ODBC 连接器的 VBA/MySQL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9818365/