我尝试迁移之前在 Windows 10 下使用 32 位 ODBC 驱动程序运行的 Excel 工作表。
看来我的问题并不新鲜,因为我读了几个与此相关的问题。
我在 Windows 11 下。我运行 Excel 64 位,并且也安装了 MySQL ODBC 驱动程序 64 位。
如果我使用集成到 Excel 的查询工具,我可以使用 ODBC 驱动程序连接到我的数据库。
我做了一个从其他线程中获取的小测试:
Public Function OpenConnection() As ADODB.Connection
Const location = "localhost"
Const user = "swm"
Const password = "xxxxxxx"
Const database = "swm"
Const mysql_driver = "MySQL ODBC 8.0 ANSI Driver"
' Build the connection string
Dim s As String
s = "Driver={" & mysql_driver & "};Server=" & _
location & ";Database=" & _
database & ";UID=" & _
user & ";PWD=" & password
Debug.Print s
' Open connection
Set OpenConnection = New ADODB.Connection
OpenConnection.Open s
End Function
但是我遇到了著名的错误:
运行时错误'-2147467259 (80004005)':
[Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序
我知道 Excel 32 位有一个陷阱,因为必须安装 ODBC 32 位。但在那里,一切都是 64 位的。
如有任何帮助,请来! ;)
好吧,我找到了解决方案。 我对在 64 位环境下读到的有关 Excel、ODBC 和 MySQL 的所有内容感到有点困惑。 我在连接字符串中也犯了一个错误。 最后:
它有效!