ExcelVBA to MariaDB

计算机语言、软件、硬件
回复
peng
Site Admin
帖子: 192
注册时间: 周五 11月 01, 2019 9:06 am

ExcelVBA to MariaDB

帖子 peng »

Sub Mariadb()

Dim cnStr, sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim d()

Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = _
"Driver={MariaDB ODBC 3.1 Driver};" & _
"Server=10.207.171.126;" & _
"Port=3307;" & _
"Database=test;" & _
"Uid=root;" & _
"Password=teitei3;" & _
"Option=3"
cn.Open

If cn.State = 1 Then
MsgBox ("接続状況:" & cn.State & vbCrLf & "バージョン:" & cn.Version)
Else
MsgBox "接続失敗!"
End If

sql = ""
sql = sql & "SELECT 商品コード, "
sql = sql & " 商品名 "
sql = sql & " FROM 商品リスト "
sql = sql & " WHERE 分類1<>''; "

rs.Open sql, cn, adOpenKeyset, adLockReadOnly

ReDim d(1000, 1 To 4)
cntInp = 0
Do Until rs.EOF = True
cntInp = cntInp + 1
d(cntInp, 1) = rs.Fields("商品コード")
d(cntInp, 2) = rs.Fields("商品名")
rs.MoveNext
Loop

rs.Close
Set rs = Nothing

End Sub

peng
Site Admin
帖子: 192
注册时间: 周五 11月 01, 2019 9:06 am

Re: ExcelVBA to MariaDB

帖子 peng »

① 在Excel VBA窗口 选“工具”“引用”,选以下两项:
Microsoft ActiveX Data Objects 6.1 Library
Microsoft ActiveX Data Objects Recordset 6.0 Library

② 在PC计算机系统中,安装 mariadb-connector-odbc-3.1.7-win64,(32位机则选win32)
装好后,在设置中搜索“odbc”,找到后运行,再追加到DSN中,才能在ODBC中找到。
(也可在windows目录下搜索 “odbcad32.exe”直接运行。)

③ 按上楼的VBA程序即可调用。

peng
Site Admin
帖子: 192
注册时间: 周五 11月 01, 2019 9:06 am

Re: ExcelVBA to MariaDB

帖子 peng »

运行 odbcad32.exe 后,将会出现以下信息:

ODBC.jpg
ODBC.jpg (124.38 KiB) 查看 648 次

须注意的是,一楼的 Driver={MariaDB ODBC 3.1 Driver} 必须和上图中的驱动程序一致。

回复