以前ColdFusion MXでMySQL 4.1を使うにはで、ColdFusion MXからMySQL 4.1に接続できない問題を、ColdFusion MXに新しいMySQL用のJDBCドライバを入れることで解決する方法を示しましたが、今回はMySQL 4.1のOLD_PASSWORD()関数を使って回避する方法です。
ColdFusion MXでMySQL 4.1を使うには – 別の方法
1
以前ColdFusion MXでMySQL 4.1を使うにはで、ColdFusion MXからMySQL 4.1に接続できない問題を、ColdFusion MXに新しいMySQL用のJDBCドライバを入れることで解決する方法を示しましたが、今回はMySQL 4.1のOLD_PASSWORD()関数を使って回避する方法です。
ColdFusion MXでMySQL 4.1を使おうとすると、以下のようなエラーが出てきます。
Connection verification failed for data source: mysql java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306? The root cause was that: java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
これは、ColdFusion MXに付いているMySQLのドライバーが古く、MySQL 4.1で要求される認証メカニズムに対応してないためです。
これを解決する方法として、mysql.comで配布されている新しいJDBCドライバーをColdFusion MXにインストールするという方法があります。
ストアドプロシージャ、ストアドプロシージャ内でのサーバーサイドカーソルなどがサポートされたようです。
MySQL 5.0、α版リリース