关于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
上一篇下一篇

猜你喜欢

热点阅读