VBA连接MYSQL数据库方法及案例
一、系统环境及准备:
OS:WIN10 64位;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.0出现2503、2502错误码的问题解决方法
https://blog.csdn.net/qq_41667508/article/details/96828450
安装MySQL8.0版本,出现如下所示错误:
在网上找到很多解决方法,包括在任务管里器中运行安装程序、在本地策略组编辑器中永久提权、在命令提示符中运行安装程序,尝试后都失败了。最后发现我打开命令提示符的时候没有右击——以管理员身份运行,所以尝试了以管理员身份运行只后再运行安装程序,即可成功安装了。
具体步骤如下:
1、找到命令提示符(cmd),一定要右键——以管理员身份运行(这是最关键的愿因),如下图所示:
2、出现“管理员:命令提示符” 对话框。然后输入msiexec/package +‘msi文件路径’(注意在英文状态下),按回车键即可成功开始安装。如下图所示:
对应的安装包的路径一定要改成自己的路径名;