UWSCでODBCを使ってmysqlに接続する

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
———————————————————–

タイトルとURLをコピーしました