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

这两天把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

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值