编写Excel VBA工具,连接并操作Mysql 数据库。
系统环境:
OS:Win7 64位 英文版
Office 32位 英文版
1、VBA连接MySql前的准备
Tools--->References..---->引用
勾选Microsoft ActiveX Data Objects 2.8 Librarys和Microsoft ActiveX Data Objects Recordset 2.8 Librarys
2、安装Mysql ODBC连接服务
注意:这里使用32位的版本
下载上图中Windows(x86,32-bit),Zip Archive版本,在测试中,使用64位的版本无法连接到Mysql
把下载上述文件拷贝放到资源管理器里,放到合适位置,解压,点击里面的install.bat批处理文件。
从“控制面板”--->“管理工具”---->ODBC,打开以后,从这个里面无法看到Mysql的驱动,实际上使用的是下面32位的ODBC驱动
C:\Windows\SysWOW64\文件夹下的odbcca32.exe
3.连接示例
Sub TestConnectTodb()
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 5.3 Unicode Driver};Server=localhost;Port=3306;Database=db_hptms;Uid=root;Pwd=123456;OPTION=3;"
conn.Open
rs.Open "select fdEmpNo,fdEmpName from tbUser", conn
With ThisWorkbook.Worksheets("MySqlData")
.Visible = True
.Range("a1:b1").Value = Array("EmpNo", "EmpName")
.Range("A2").CopyFromRecordset rs
.Activate
End With
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
MsgBox "处理完毕", vbOKOnly, "提示信息"
End Sub
上述示例经过测试,可以正常连接到Mysql数据库,这里注意使用的ODBC连接的版本是32位,在测试中,使用64位的,始终无法正常打开连接。
Excel VBA 连接各种数据库(一) VBA连接MySQL数据库
本文参考[东围居士]的cnblog博文Excel.VBA与MySQL交互 在自己机器上调试成功,把调试中遇到的问题一并写出了. 本文主要涉及: VBA中的MySQL环境配置 VBA连接MySQL ...
Excel VBA 连接各种数据库(二) VBA连接Oracle数据库
本文主要内容: Oracle环境配置 ODBC驱动设置.第三方驱动下载 VBA连接Oracle连接方法 Oracle10g官方免账号下载地址 系统环境: Windows 7 64bit Excel 2 ...
Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库
本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...
Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1. 安装MySQL ODBC驱动程序 O ...
python连接mysql数据库读取数据
#-*- coding:utf-8 -*- #Author:'Lmc' #DATE: /4/28/0028 上午 11:22:47 #FileName:test.PY import pymys ...
一步一步跟我学习hadoop(7)----hadoop连接mysql数据库运行数据读写数据库操作
为了方便 MapReduce 直接訪问关系型数据库(Mysql,Oracle).Hadoop提供了DBInputFormat和DBOutputFormat两个类.通过DBInputFormat ...
Ecplise 中 加载JDBC 连接 Mysql 数据库读取数据
准备工作 首先下载 JDBC 驱动,下载地址/products/connector/ 将压缩包解压得到文件 mysql-connector-java-5.1. ...
C#连接mysql数据库插入数据后获取自增长主键ID值
From: /zbc496218/article/details/51082983 MySqlConnection conn = new MySqlConnec ...
VBA连接MySQL数据库以及ODBC的配置(ODBC版本和MySQL版本如果不匹配会出现驱动和应用程序的错误)
db_connected = False '获取数据库连接设置dsn_name = Trim(Worksheets("加载策略").Cells(2, 5).Value) ---- ...
随机推荐
[Silverlight]常见问题
[Silverlight]常见问题 1. Silverlight项目是否支持对象? 不支持,Silverlight不支持常见的对象,如DataTable,DataSet,D ...
JavaScript 客户端JavaScript之 脚本化浏览器窗口
1.计时器 客户端Javascript以全局函数setTimeOut().clearTimeOut().setInterval().clearInterval()提供这一功能. 前者是从运行的那一 ...
vim 小技巧总结
1.v+移动光标可以选中文本. 2.y可以复制已经选中的文本 3.p可以粘贴 复制一行则:yy 复制当前光标所在的位置到行尾:y$ 复制当前光标所在的位置到行首:y^ 复制三行则:3yy,即从当前光标 ...
伪AP检测技术研究
转载自:http://www.whitecell-/?p=310 随着城市无线局域网热点在公共场所大规模的部署,无线局域网安全变得尤为突出和重要,其中伪AP钓鱼攻击是无线网络中严重的安 ...
CTF---编程入门第一题 循环
循环分值:10 来源: 北邮天枢战队 难度:易 参与人数:1478人 Get Flag:467人 答题人数:523人 解题通过率:89% 给出一个循环公式,对于一个整数n,当n为奇数时,n=3n+1, ...
索引使用,分析初探。(explain分析执行计划,以及强制使用force index)
促使这次探索的初衷还是因为要对一个定时脚本性能进行优化. 脚本有两个指定状态分别是status, latest_process_status,和一个超期时间expire_time进行限制. 按照我以前 ...
Leetcode#53.Maximum Subarray(最大子序和)
题目描述 给定一个序列(至少含有 1 个数),从该序列中寻找一个连续的子序列,使得子序列的和最大. 例如,给定序列 [-2,1,-3,4,-1,2,1,-5,4], 连续子序列 [4,-1,2,1] ...
elasticsearch中 refresh 和flush区别【转】
elasticsearch中有两个比较重要的操作:refresh 和 flush refresh操作 当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索.而这个实时建索引并可以 ...
win7系统总是安装不了net2.0的解决方法
一些网友询问说ghost win7系统总是安装不了net2.0怎么办呢?net2.0是什么?ATI显卡的控制中心 就需要在NET2.0的基础上.可是一些用户说win7系统总是安装不了net2.0如何解 ...
【数据结构系列】线段树(Segment Tree)
一.线段树的定义 线段树,又名区间树,是一种二叉搜索树. 那么问题来了,啥是二叉搜索树呢? 对于一棵二叉树,若满足: ①它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 ②若它的右子树不空, ...