关于VBA Excel开发中连接MySQL数据库的问题

来源:互联网 发布:产品经理和数据分析 编辑:程序博客网 时间:2024/04/26 18:39
这两天把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

1 0