むしろ一昨日参ります。
WebObjects から RDBMS を利用する場合、直接そのシステムを操作するのではなく、抽象化して Framework(Enterprise Objects Framework。以下 EOF ) 越しに扱います。そしてその EOF と RDBMS との間をとりもつモノをモデルと呼びまして、EOModeler というツールで作成と保守を行います。
で、その EOMedeler がどうやって RDBMS と接続するかと言いますと、普通に JDBC 経由だったりしまして(←ver 5 から)、特別なアダプタの類いは必要ありません。て事は、JDBC ドライバさえ用意してある RDBMS ならどれでも接続出来るわけで(←理論的には、なのだけど)、なおかつ抽象化とかしちゃうから、RDBMS に依存しない(しにくい)アプリが開発出来るって寸法なんですねぇ。
そんな訳で、MySQL とおまけで SQL Server を利用する時の設定例とか見てみよう。具体的には、EOModeler の “Model”メニュー -> “New” で表示される “New Model Wizard” で、JDBC を選択後の “JDBC Connection” ウィンドウの中身です(画像参照の事)。
が、その前に JDBC ドライバを手に入れておかねばなりません。どちらも本家で配布してますので、それらを利用するとします。MySQL 用の Connector/J、SQL Server 用の Microsoft SQL Server 2000 Driver for JDBC。
Username、Password は適宜 RDBMS へ登録してある内容を記述し、次の URL の欄に jdbc: で始まる JDBC URL を記述します。
MySQL の方は
jdbc:mysql://(サーバ名かIPアドレス)/(データベース名)
でOK。ドライバが 3.0.8 より前のバージョンだと、少し拡張して
jdbc:mysql://(サーバ名かIPアドレス)/(データベース名)?useUnicode=true&characterEncoding=(使用エンコード名)
とやらないとマルチバイト文字が化けてしまっていたのだけど、3.0.8 は特に指定しなくても大丈夫みたい。別に指定しても大丈夫だけどね。
SQL Server の方は、
jdbc:microsoft:sqlserver://(サーバ名かIPアドレス):1433; DatabaseName=(データベース名)
って感じで、こちらは文字化けしたという経験はなし。サーバ名の次の数字は 某ワームがつっつくので有名な SQL Server のデフォルトポート番号で、SQL Server 側で変更すると、もちろんこちらも変更する必要がある、と思う、経験ないけど。ちなみにSQL Server 側のユーザの管理で、デフォルトログインデータベースな設定が有効ですとデータベース名の指定は必要ありませんが、然程面倒でもないので指定しておきましょ。
次の Optional グループの Driver: の欄ですが、JDBCドライバの名前を指定してもしなくても問題ない様なので書いたり書かなかったりしてます。ちなみに、MySQL の方は
com.mysql.jdbc.Driver
、SQL Server はちょっと長めで
com.microsoft.jdbc.sqlserver.SQLServerDriver
と入力すればOK。
これらの情報は、モデル作成後、“Model”メニュー -> “Set Adaptor Info...” で変更可能なので、使用する RDBMS を変更したとしても一からモデルを構成し直すなんて事は必要ありません。
たぐ - webobjects
(0)
(Last.fm)