一、系统环境及准备:
OS:WIN1064位;Office32位
1、VBA连接MySql前的准备
Tools—>References…---->引用
勾选Microsoft ActiveX Data Objects2.8 Librarys和MicrosoftActiveX Data Objects Recordset 2.8 Librarys
2、安装Mysql ODBC连接服务
下载连接:https://dev.mysql.com/downloads/connector/odbc
注:这里使用32位版本
安装在测试案例中MSI安装后,程序安装包,MYSQL完成驱动施工;安装后的应用程序如下;
二、VBA实例测试连接方法
在这种情况下,安装MYSQL插件为MySQL ODBC 8.0 ANSI Driver,因此,连接语句的驱动描述必须一致;
连接剩余数据库hostIP,就是数据库的IP;
数据库实例名,即MYSQL数据库对应的名称;
代码原文如下:
Sub 连接MySQL数据库() 如果连接测试成功,首先安装驱动插件
'1. 引用ADO工具
'2. 创建连接对象
Dim con As New ADODB.Connection
'3. 建立数据库连接
con.connectionString = "Driver={MySQL ODBC 8.0 ANSI Driver};Server=数据连接hostIP;DB=数据库实例名;UID=数据库用户名;PWD=数据库用户密码;OPTION=3;"
con.Open
MsgBox ("连接成功!" & vbCrLf & "数据库状态:" & con.State & vbCrLf & "数据库版:" & con.Version)
con.Close
Set con = Nothing
End Sub
三、查询案例测试
实例代码如下
Sub linkMySQL()
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
配置连接串
conn.connectionString = "Driver={MySQL ODBC 8.0 ANSI Driver};Server=1.1.1.1;DB=tms;UID=root;PWD=root;OPTION=3;"
conn.Open
'从test数据库的YGXM从表中取出所有数据
rs.Open "select b.TABLE_NAME from INFORMATION_SCHEMA.TABLES as b where b.TABLE_SCHEMA='tms' ", conn
'设置表头
' Range("A1:B1").Value = Array("ID", "Name")
将数据输出到工作表中
Range("A2").CopyFromRecordset rs
'关闭连接
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
End Sub
四、Win10安装MySQL8.解决2503和2502错码问题的方法
https://blog.csdn.net/qq_41667508/article/details/96828450
安装MySQL8.0版,错误如下:
在互联网上找到了很多解决方案,包括在任务管内器中运行安装程序、在当地战略组编辑器中永久权利提升、在命令提示符中运行安装程序。最后,我发现当我打开命令提示符时,我没有右击——作为管理员运行,所以我试着作为管理员运行,然后运行安装程序。
具体步骤如下:
1.找到命令提示符(cmd),一定要右键-作为管理员运行(这是最关键的愿因),如下图所示:
2.管理员:命令提示符对话框出现。然后输入msiexec/package ‘msi文件路径(注意英语状态),按回车键即可成功安装。如下图所示:
相应的安装包路径必须改为自己的路径名;