Delphi2007 と MySQL
単純なことでも知らないと苦労をするわけで。
WindowsXP上のDelphi2007からLinux上のMySQLへ接続するのに、TADOConnectionを使ってみた。
ConnectionStringは、
DRIVER={MySQL ODBC 3.51 Driver}; SERVER=サーバー名; DATABASE=データベース名; UID=ユーザーID; PASSWORD=パスワード;OPTION=3;
てな具合にしてみた。
これで接続は出来るのだが――
基のMySQLデータベースの中身がUTF?8で書かれていたりして、TDBGridの表示はバケバケになった。
いちいちUTF?8とS?JIS変換するのは馬鹿げている。
幸い、DSNを書くと文字コードが指定でき、読み書き時に自動コード変換をしてくれる。
で、TADOConnectionでどうやってDSNを指定するのかと思ったら、
DSN=DSN名; SERVER=サーバー名; DATABASE=データベース名; UID=ユーザーID; PASSWORD=パスワード;OPTION=3;
これだけで良かった。
ここまでたどり着くのに、ちょいと遠回りをしてしまったぞ。
しかしWindows7(64bit)ではこれが動かないのだ。『指定されたDSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています』と表示され、DBに接続できない。DSN指定をドライバ指定に変えてもつながらない。原因はまだ調べていないが、32bit・64bitの違いか。
さて、どうしたものか。
TrackBacks
TrackBack URL : http://www.kestrel.jp/modules/wordpress/wp-trackback.php/616
この投稿には、まだコメントが付いていません