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にインストールするという方法があります。
これはMacromediaのTechNote「 How to use MySQL 4.1 with ColdFusion MX」の手順を翻訳したものです。
- まず、dev.mysql.comからstable versionのMySQL Connector/Jをダウンロードしてきます。
- ダウンロードしたアーカイブからmysql-connector-java-3.{n}-bin.jarというファイルを取り出します。
- 取り出したファイルをcf_root/WEB-INF/libに置きます。
- ColdFusion MXを再起動します。
- データソースを新しく追加します。その際ドライバータイプは「その他」を選びます。
- JDBC URLに以下のように入力します。
jdbc:mysql://[host]:[port]/[database] - ドライバクラスに以下のように入力します。
com.mysql.jdbc.Driver ユーザ名、パスワードなどを入力し、「送信」ボタンを押せば設定完了です。
ColdFusion で MySQL4.1 を使う
ColdFusion MX で MySQL 4.1 を使うにはちょっとしたコツがいりますが、この2 つの方法をわかりやすく解説しているこのページがいいんではない…