編寫Excel VBA工具,連接並操作Mysql 數據庫。
系統環境:
OS:Win7 64位 英文版
Office 2010 32位 英文版
1、VBA連接MySql前的准備
Tools--->References..---->引用
勾選Microsoft ActiveX Data Objects 2.8 Librarys 和Microsoft ActiveX Data Objects Recordset 2.8 Librarys
2、安裝Mysql ODBC連接服務
下載連接:https://dev.mysql.com/downloads/connector/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位的,始終無法正常打開連接。