|
ASP Tips |
|
No.0002 MySQLにADOでアクセス |
MySQLサーバーはインストール済みでIPアドレスは「192.168.0.1」とします。また、Ver3.51のODBCドライバ(MyODBC)がIISと同じサーバーにインストールされていることが前提です。
異なるバージョンのODBCドライバを使う場合は「ConnectionString」の「DRIVER=」をWindowsコントロールパネルの「ODBC データソース アドミニストレータ」の「ドライバ」タブ
を見て書き換えてください。
次の例ではMySQLから取得したデータを2次元配列「arrData」に取得しています。
|
Dim objConn, objRS
Dim strServer, strUser, strPwd
Dim strDB, strTable
Dim strSql
Dim arrData
strServer = "192.168.0.1"
strUser = "testuser"
strPwd = "testpass"
strDB = "testdb"
strTable = "test"
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objConn.ConnectionString = "Provider=MSDASQL;" & _
"Extended Properties=""DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=" & strServer & ";USER=" & strUser & ";PASSWORD=" & strPwd & ";" & _
"DATABASE=" & strDB & ";OPTION=16387"""
strSql = "SELECT * FROM " & strTable & " ORDER BY Class"
objConn.Open
objRS.Open strSql, objConn
arrData = objRS.GetRows()
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing
|
|
「ConnectionString」で「OPTION」を指定しています。これは 1=カラムの実際のサイズを最適化しない、
2=MySQLは(影響を受けたレコードではなく)見つかったレコードを返す、
16384=LONGLONG型の数値はINT型に変換する、
を意味します(1+2+16384)。
「16384」についてはVer2.6(SP1)以降のMDACを導入している場合には不要です。オプションの詳細についてはMyODBCのサイトで確認してください。
この例ではRecordsetオブジェクトの「GetRows」によって「arrData」にデータを入れるようになっているので、これを2重ループでテーブルに書き出したりして利用します。
|
|
|
|
|
|