*環境
Windows7(64ビット版)
MySQL(32ビット版)
Delphi2010
でSQLConnectionのプロパティーを設定し、Localhostに接続しようとするとエラーになります。WindowsXPでは難なく接続できたのですが、特別な設定が必要なのでしょうか。
*エラーの内容
LIBMYSQL.dllがみつからない。システムパスにない。
LIBMYSQL.dllをexeと同じ階層にコピーして実行すればエラーはでなくなりますか?
ひろさん
exeと同じ階層にLIBMYSQL.DLLを置いてもエラーは出ます。
あとDelphiのbinフォルダや、system32にも置いたのですがエラーが出ます。
c:\windows\SysWOW64 にコピーした場合、どうなりますか?
igyさん
書くのを忘れましたが、32ビットアプリなのでSysWOW64にもコピーしたのですが、まったく同じエラーメッセージでした。
ODBC接続であれば問題なく接続できます。
またMySQL(64ビット)でも同じ結果です。
基本的にはWindows7(32ビット版)でしかdbExpressは使用できないのでしょうか?
libmysql.dllはMySQL5.1(32ビット版)のものですか?
libmysql.dllはMySQL5.1(32ビット版)のものです。
これをSysWOW64などにコピーしています。
XPで作成した(動作する)アプリを持ってきてもエラーになりました。
ためしにMySQLを再インストールしてみます。
>基本的にはWindows7(32ビット版)でしかdbExpressは使用できないのでしょうか?
Delphi2010ではなく、Delphi2009ですが、
・Windows7(64ビット版)
・MySQL5.1(64ビット版)
で、
dbExpressでMySQLに接続するプログラムは、動作しました。
そのとき、exeと同じフォルダに、
・libmysql.dll (MySQL5.1 32ビット版)
・Delphi2009に付属しているdbxmys.dll
をコピーしていました。
igyさん
exeと同じフォルダに2ファイルをコピーし試しましたが、
動作しませんでした。
それではigyさんのように
MySQL1(64ビット版)
libmysql.dll (MySQL5.1 32ビット版)
の組み合わせで試してみます。
かず さん。調べてみたら、Delphi2009 では MySQL 5.0までしか対応していないので、
>Delphi2010ではなく、Delphi2009ですが、
と書きましたが、Delphi2009 ではなく、Delphi XE だったかもしれません。
申し訳ありません。
>dbExpressでMySQLに接続するプログラムは、動作しました。
これに関しても、記憶違いかもしれないので、こちらでも改めて確認してみます。
確認したところ、以前、試したのは、
Delphi2010ではなく、Delphi XE2で、
・Windows7(64ビット版)
・MySQL5.1(64ビット版)
で、
dbExpressでMySQLに接続するプログラム(32ビット)は動作しました。
そのとき、exeと同じフォルダに、
・libmysql.dll (MySQL5.1 32ビット版)
をコピーしていました。
どんどん泥沼化しています。
Windows7(64ビット版)
Delphi2010pro
MySQL5.1.61(32ビット版)にバージョンを下げてみました
XPで作成したプロジェクト、Win7問題なく動くものや、igyさんの指摘のようにLibmysql.dllを同一フォルダにコピーすると動いたりと意味不明になっています。
Delphiを起動しSqlconnectionのconnectedをTrueにすると、Libmysql.dllのエラーが発生します。
現在、Windows7の64ビット環境がないので、ほとんどお役に立てそうもないのですが・・
>MySQL5.1.61(32ビット版)にバージョンを下げてみました
これに付属する libmysql.dll を、c:\windows\SysWOW64 にコピーしてもだめですか?
あと、
>Delphi2010pro
は、最新のUpdateまで適用されていますか?
igyさん
SysWOW64にはLIBmysql.dllをコピーしています。
DElphi2010はインストール後に自動アップデートしますので適用されています。
やっと、うまく動作するようになりました。まとめてみました。
■環境
OS:Windows7(64ビット版)
Delphi2010pro
MySQL5.1.61---32ビット版(注1)
■トラブル
開発しようとしたり、XP環境で作成したEXEでLibMySQL.dllのエラー(ファイルが見つからない、ヴァージョンの不整合)
特にSQLConnectionのプロパティをTrueにするとエラーが出て、開発が止まってしまう。
■経緯
MySQLやWindowsのシステムに置くLibMySQL.dllばかりを考えていた。
MySQLの64ビット版や32ビット版の最新版をインストールした。
WindowsXPのときはMySQL5.5.12で問題なかった。
■最終結果
MySQLは安定版の5.1.61をインストール
(注1)LibMySQL.dllは5.5.12のものを使用し、MySQL、Windows、Delphiの関連フォルダにいれ、Dllのバージョンを統一する。
パスは
C:\Windows\sysWOW64 ----- 32bit版のDLLはここに入れる
C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin
C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin
MySQL5.1.61のLibMySQL.dllではうまくいかなかった。
これで開発環境PCは問題ないようです。配布先PCは未テストです。
単純に5.1.XXはOKとならないようです。
最終的にDelphi2010ではMySQLのどのバージョンでOKかは確かめるしかない。
5.1.XXと言われているが5.5.12でもそさそうです。
ツイート | ![]() |