【Excel】VBA编程02访问MySQL数据库
1、配置Windows连接驱动ODBC
因为是访问MySQL,则对应的ODBC驱动由MySQL⼚商发布
sql/downloads/connector/odbc/
这⾥系统位数有个坑,要下载32位版
安装64位版后执⾏VBA脚本却告诉我不到ODBC驱动,想半天才知道系统位数原因
yebd1h.smartapps/pages/blog/index?blogId=108721206&_swebfr=1&_swebFromHost=baiduboxapp
⼜或者因为连接参数不对
安装ODBC驱动之后,到【管理⼯具】
把下⾯这个地址粘贴的【资源管理器】的地址栏上直接访问
控制⾯板\系统和安全\管理⼯具
分为64位和32位,双击32位
可以看到驱动列表中有了MySQL的驱动
可以新建⼀个【⽤户DSN】来测试
2、Excel的VBA配置
到VBA开发⼯具,引⽤菜单
追加VBA的数据库访问对象
追加两项引⽤:
Mircosoft ActiveX Data Objects 6.1 Library
Mircosoft ActiveX Data RecordSet 6.0 Library
3、编写VBA执⾏脚本
然后可以在VBA中编写数据库访问脚本:
Sub连接本地Mysql()
'///1. 引⽤ADO类库:前期或者后期绑定
Dim conn tion
Set conn = tion '以上两句可简写Dim con As New ADODB.Connectionvba数据库编程
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset '以上两句可简写Dim rs As New ADODB.Connection
'///2. ADO建⽴对数据源的链接
'可简写con.Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=192.168.1.139;DB=test;UID=root;PWD=abc;OPTION=3;"
conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3308;DB=my-info;UID=root;PWD=123456;OPTION=3;" conn.Open
'///3. ADO执⾏SQL语⾔。
rs.Open "select * from application_website", conn '使⽤结果集对象执⾏sql语句
Range("A2").CopyFromRecordset rs '将数据输出到⼯作表,不包含字段名
MsgBox ("连接成功!" & vbCrLf & "数据库状态:" & conn.State & vbCrLf & "数据库版本:" & conn.Version)
conn.Close
Set conn = Nothing
End Sub
脚本执⾏结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论