Postgres
Windows 10 64bit Pro
EXCELバージョン: MicrosoftOffice 356 (32bit)
Windowsの設定 - postgresqlデータソースを追加する
ODBCのダウンロード
ODBCデータソースアドミニストレータ32ビットで、データソースPostgreSQL Unicodeを追加する
Data Source: Excelから呼び出すときに使う
Description: 自由に記入
Database: 存在するDatabase名
SSL Mode: 自由に記入
Server: 通常のローカル環境ならlocalhost
Port: ポート (通常は 5432)
User Name: データベース接続ユーザ名
Password: パスワード
Excelでの設定 - ADOを参照設定で設定する
開発 > Visual Basic > ツール > 参照設定
下記をチェック
Microsoft ActiveX Data Objects 2.8 Library
DNSには先ほど設定したサーバー名を設定する
Sub TestConnection()
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=PostgreSQL-test_app;"
cn.Open
cn.Close
Set cn = Nothing
End Sub
MySQL
Windows 7 64bit Pro
EXCELバージョン: MicrosoftOffice 356 (32bit)
ODBCドライバーを使って接続する
ODBCのダウンロード
mysql-connector-odbc-5.3.6-winx64.msi
ODBCの設定
MySQL5.6にODBCユーザを作成
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -u root -p
Enter password: ********
# ポートの確認
show variables like 'port';
# ユーザODBCでlocalhostに接続できるように設定
CREATE USER 'ODBC'@'localhost' IDENTIFIED BY 'password';
grant all privileges on *.* to 'ODBC'@'localhost' ;
C:\Windows\Syswow64\odbcad32.exe
VBA
'
'MySQLデータベースへの接続を確立
'
Sub MySQL接続()
On Error GoTo errHandler
Dim myCon As New ADODB.Connection 'Connectionオブジェクト
'接続文字列を設定する
myCon.ConnectionString = "Driver={MySQL ODBC 5.3 Driver};" _
& "Server=localhost; Data Source= WindowsMySQL;Database=kokyaku_kanri; Uid=ODBC; Pwd=password"
'データベースに接続する
myCon.Open
MsgBox "接続しました。"
'接続を切断する
myCon.Close
MsgBox "切断しました。"
procContinue:
Set myCon = Nothing
Exit Sub
errHandler:
'エラーが発生した場合にエラーメッセージを表示する
MsgBox Err.Description
Resume procContinue
End Sub