Excel Vba无法连接 远程 Mysql数据库问题的解决方法

1、使用的环境
excel 2016 32位
远程服务器数据库,有公网ip 使用的是xampp 套件,包含apache+php+MariaDB 10.1.34(这个和mysql兼容,可以看作mysql,不是无法连接的原因所在。
2、问题描述
使用vba 语句连接远程数据库

Sub dd()

Dim cn As ADODB.Connection  '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As ADODB.Recordset '定义记录集对象,保存数据表
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
'设服务器地址、所连数据,及登录用户密码
ser = "13*.23*.*.*"
db = "exceladmin"
user = "exceladmin"
pwd = "*****"
strconnt = "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=" & ser & ";Database=" & db & ";Uid=" & user & ";Pwd=" & pwd
cn.ConnectionString = strconnt
cn.Open

End Sub
!!!报错!!!
3、错误类型描述及解决方法
3.1 vba语句编译错误,“用户定义类型未定义”
解决方法:在工具-引用中添加 MircroActiveX Data Objects 2.8 Library 和MircroActiveX Data Objects recordset 2.8 Library,两项,问题解决。
3.2 报 内存错误或者驱动错误
这个是主要的问题所在,查询了网上的资料,归纳如下:
3.2.1首先,需要正确的找到远程服务器的数据库的版本,方法是cmd 进入sql 的bin 目录,比如:c:\xampp\mysql\bin ,输入 sql -v 命令查看版本。
3.2.2 接着就需要在本地的计算机上安装 mysql odbc 版本号了,最新的是mysql odbc 8.0 对应的是 mysql 8.0 版本,我这里用的是MariaDB 10.1.34,相当于mysql 5.3。
3.2.3 知道了驱动的版本号,是不是就可以百度下载了?
no ! 我的时间就是浪费在这个上面的,百度了mysql odbc 5.3 的驱动,正常安装,仍然无法连接
正解是 到 mysql的官网上面下载正确的驱动:
我的下载地址是:https://dev.mysql.com/downloads/connector/odbc/5.3.html
3.2.4 能安装了吗?
如果你是回头来看这篇文章,知道你又遇到问题了
visual studio 2013 redistributable x86下载地址是:https://www.microsoft.com/zh-TW/download/details.aspx?id=40784
3.2.5 总结一下
正确的顺序:1、添加vba的引用,2、确定mysql 的版本 ,3、下载visual studio 2013 redistributable x86 ,4、下载mysql odbc 驱动
4.
连接成功!

猜你喜欢

转载自blog.csdn.net/weixin_42799489/article/details/82588368