关于VBA Excel开发中连接MySQL数据库的问题
2017-02-20 本文已影响83人
Joepis
摘要: 原创出处 http://peijie2016.gitee.io 欢迎转载,保留摘要,谢谢!
这两天把Access移植到MySQL上,遇到个问题,始终报错说-----80004005 - 未找到数据源名称并且未指定默认驱动程序。
于是上网查,折腾了一整天,最后发现原来是odbc的驱动的问题。
我电脑是64位的,要用64bit的odbc数据源来配置,不能直接在控制面板下的管理工具中配。直接配的后果就是excel中找不到。
做法就是:运行 C:\Windows\SysWOW64\odbcad32.exe,在这里配,就解决问题了。
还有就是,我用64位的odbc驱动竟然没有这个选项,用32位却成功了。
最后得出一个结论,office是x86还是x64无所谓,但是MySQL与odbc驱动的版本一定要配套,不然容易出错。
在vba代码中,驱动名一定要与配置odbc数据源的名字相同,不然也会找不到。
最后贴出我的代码,供大家参考下。
Sub connMySql()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQL As String
Set conn = New ADODB.Connection
sevip = "localhost" '主机IP
Db = "loandb" '将插入的 DataBase
user = "root"
pwd = "admin"
conn.Open "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=" & sevip & ";Database=" & Db & ";Uid=" & user & ";PWD=" & pwd
conn.Execute "create table test2(name text,pass text)"
conn.Close
End Sub