技術日記
MySQL Connector Netの非互換性Edit

昨日書いた「Entity SQLでtritonnの全文検索を行う « blog.ishinao.net」の話の続き。ローカル開発環境でだいたい動くようになったんで、サーバー環境でもちゃんと動くか試してみようと、サーバーに作りかけのアプリをセットアップしてみた。

ローカル開発環境のMySQL Connector Netのバージョンは6.4.3だったんだけど、MySQLのWebサイトに載っている最新版は6.4.4になっていて、まあマイナーバージョンの最後の一桁が1違うくらいならば、大して問題は出ないだろうとサーバーサイドは6.4.4をインストール。

で、動かしてみたらローカル開発環境では問題なかったのに、「MySqlParameter以外は受け取らないよ」エラーが、ExecuteStoreQueryの第2引数で出る。MySqlParameterをちゃんと渡しているんだけどなーと不思議に思い、明示的にキャストしてみたり、MySqlParameter[]な変数を定義してそれにコピーしてから渡してみたり、いろいろ試してみたけれども動かない。

おかしいなーと、試しにローカル開発環境のMySQL Connector Netも6.4.4にアップデートしてみたら、同じエラーが出るようになった。なんじゃそりゃ。6.4.3と6.4.4の間でそんな非互換性があるの? あるいはバグ?

よくわからんが、そこを追求する気にはなれなかったんで、サーバーも開発環境も6.4.3に合わせたら、どちらでもちゃんと動くようになった。MySQL Connector Netを使うときにはバージョンに要注意。

Published At2011-11-24 20:19Updated At2011-11-24 20:19