UWSCでODBCを使ってmysqlに接続したときの覚書。
【環境】
Windows7 64bitで接続。mysqlもlocalhostにある。
1.MySQL用のODBCドライバのインストール
windowsからmysqlに接続するため、MySQL用のODBCドライバをインストールをインストールする。参考
windows7は64bitを利用しているが、UWSCが32bitなので、ドライバは32bit版を選択する。
ダウンロードページで、「login」や「sign up」を求められるが、不要ならその下の「No thanks, just start my download.」のリンクから回避できる。
ダウンロードしたら、インストールする。
2.ODBCにmysqlの情報を設定する
インストールできたら、データソース(ODBC)をこちらから設定する。
———————————
C:\Windows\SysWOW64\odbcad32.exe
———————————
※こちらにあるのは64bit版なので、無効(32bit版windowsなら有効だろう)
———————————
コントロール パネル\すべてのコントロール パネル項目\管理ツール\データ ソース (ODBC)
———————————
設定時、インストールしたドライバが二種類表示されるが「MySQL ODBC 5.x Unicode Driver」を選択。「MySQL ODBC 5.x ANSI Driver」は、日本語WindowsではSHIFT-JISを意味するらしい。
※localhost以外のPCから接続できない場合は、こちら
3.UWSCでmysqlに接続してみる
参考ページ
参考スクリプト
Open メソッド (ADO Recordset)
Fields コレクション
FieldsコレクションとFieldオブジェクトの使い方
mysqlに接続するサンプルコード
———————————————————–
objConn = CreateOleObj(“ADODB.Connection”)
objConn.Open(“ODBCで作った名前”) // コネクション(接続)実行
Dim RS = CreateOleObj(“ADODB.Recordset”)
Dim StrSQL = “Select * From テーブル名” //クエリ
RS.Open(StrSQL, objConn) // SQL実行 レコードセット取得
While ! RS.EOF
Print_ALLFields(RS) // 全フィールドのプリント
RS.MoveNext // 次のレコードへ
WEnd
sleep(100) //printが消えないように
//全フィールドのプリント
Procedure Print_ALLFields(a_RS)
Dim i, Str
For i = 0 To a_RS.Fields.Count – 1
Str = Str + “[” + i + ” ” + a_RS.Fields[i].name + ” = ” + a_RS.Fields[i].value + “]”
Next
Print Str
FEnd
———————————————————–