【Excel】VBA編程 02 訪問MySQL數據庫


 

1、配置Windows連接驅動ODBC

因為是訪問MySQL,則對應的ODBC驅動由MySQL廠商發布

https://dev.mysql.com/downloads/connector/odbc/

 

這里系統位數有個坑,要下載32位版

安裝64位版后執行VBA腳本卻告訴我找不到ODBC驅動,想半天才知道系統位數原因

https://yebd1h.smartapps.cn/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 As ADODB.connection
    Set conn = New ADODB.connection '以上兩句可簡寫Dim con As New ADODB.Connection
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

 

腳本執行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM