2011年11月23日水曜日

MySQL への ODBC 経由での接続

Windows でMySQL への ODBC 経由での接続をするために、まずは、mysql-connector-odbc-5.1.9-win32.msi を以下のサイトからダウンロードしました。

http://dev.mysql.com/downloads/mirror.php?id=404193#mirrors

(このサイトでは、始めてダウンロードする際にはユーザ登録をするように求められるのですが、下の方に以下のようなリンクがあったのでクリックすると、ユーザ登録しなくてもダウンロードできるページに移動してくれました。

» No thanks, just take me to the downloads!



ダウンロードしたmsiファイルをダブルクリックしてインストールを行い、その後、OpenOfficeのBaseから、ODBC経由で MySQLへ接続して、テーブルの中身が見られることを確認しました。

---------------------------------------------------------------------------------------------------

尚、同じようなことを、Linux上(Ubuntu)でも行うには以下のサイトを参照させていただきました。

http://woa-win.ddo.jp/ubuntu/0103.php
http://sourceforge.jp/magazine/07/02/28/0121236
http://nstage.ddo.jp/pukiwiki/index.php?OpenOffice.org%2FBase%2FDB

sudo apt-get install か synaptic で unixODBC libmyodbc php5-odbc unixodbc-bin をインストールしたあとで sudo ODBCConfig を使って、ODBCのDSN登録をします。(なおUbuntu12.04になってから、’sudo ODBCConfig’は使用できなくなっており代わりに’sudo ODBCManageDataSourcesQ4を実行します。’) DSN登録をした結果は/etc/odbc.ini に書き込まれます。またドライバーの情報は/etc/odbcinst.ini に書き込まれます。





Ubuntu12.04になってから、mysqlのODBCドライバーの位置が/usr/lib/i386-linux-gnu/odbc/の配下に変わったようです。以下は、私のマシンの/etc/odbcinst.iniの中身です。ご参考まで。


[MySQL ODBC Driver]
Description             =
Driver          = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
Setup           = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so
UsageCount              = 1
CPTimeout               =
CPReuse         =








いったんODBCのDSN登録ができれば、あとはODBC経由で、PHPからアクセスできるようになります。以下は、AccessデータベースをODBC設定して、PHPからアクセスする方法ですが、参考になると思います。
http://www.tsware.jp/study/vol14/php_04.htm

また、いったんODBCのDSN登録ができれば、Ubuntu 上で、 isql コマンドを使って、ODBC登録されたデータベースにアクセスできるようになります。例えば、my.sql というファイルにSQLコマンドを記述しておき以下のようなコマンドで実行することができます。

isql ’DSN’ ’user’ ’pass’ -w < my.sql

0 件のコメント:

コメントを投稿