14.2. JDBC ドライバーのインストール

選択した外部データベースを使うには、ご利用中のデータベースに JDBC ドライバーもインストールする必要があります。JDBC ドライバーは、JAR ファイルで $JBOSS_HOME/server/PROFILE/lib ディレクトリに設置する必要があります。また、 PROFILE を利用予定のサーバープロファイルで置き換えます。
JBoss Enterprise Application Platform が起動すると、このファイルがロードされるため、JBoss Enterprise Application Platform が稼働中であれば、一旦終了し再起動してください。適切な JDBC ドライバーについては以下の一覧を参照してください。認定済みの JBoss Enterprise Application Platform データベースドライバーの総合一覧については、http://www.jboss.com/products/platforms/application/supportedconfigurations/#JEAP5-0 を参照してください。このリンクが壊れている場合、JIRA の本書の項目から報告してください。ただし、Red Hat ではこういった外部リンクの管理は行っておりませんので、ご注意ください。ご利用中のデータベース向けの最新版ドライバーについてはデータベースベンダーにお問い合わせください。

JBDC ドライバーのダウンロード先

MySQL
http://www.mysql.com/products/connector/ からダウンロード
PostgreSQL
http://jdbc.postgresql.org/ からダウンロード
Oracle
IBM
Sybase
Sybase jConnect 製品ページ http://www.sybase.com/products/allproductsa-z/softwaredeveloperkit/jconnect からダウンロード

注記

このドライバーで Sybase データベースを使うと、ドライバーの PreparedStatement クラスでの制限が原因でMaxParams 属性を 481 以上に設定することができません。
Microsoft
MSDN Web サイト http://msdn.microsoft.com/data/jdbc/ からダウンロード

14.2.1. Sybase に関する注記

JBoss のサービスによっては、作成されたデフォルトテーブルに対し null の値を使用することもあるため、 Sybase Adaptive Server はデフォルトで null を許可するように設定する必要があります。
sp_dboption db_name, "allow nulls by default", true
その他のオプションについては、Sybase のマニュアルを参照してください。
さらに、データベースに格納される文字や画像の値は非常に大きくなる可能性があります。選択した一覧に文字と画像の値が両方含まれる場合、返されるデータの長さ制限は、@@textsize のグローバル変数で決定されます。この変数のデフォルト設定は、Adaptive Server へアクセスするのに利用するソフトウェアによって変わります。JDBC ドライバーについては、デフォルト値は 32 キロバイトとなっています。

14.2.1.1. JAVA サービスの有効化

JMS、CMP、タイマーなど、Sybase で設定された Java サービスを使用するには、 Sybase Adaptive Server 上で Java が有効になっている必要があります。Java を有効にする方法:
sp_configure "enable java",1
詳細は、Sybase のマニュアルを参照してください。
Sybase Adaptive Server に対して、Java が有効でない場合、コンソールに以下のエラーメッセージが表示される可能性があります。
com.sybase.jdbc2.jdbc.SybSQLException: Cannot run this command because Java services are not
        enabled. A user with System Administrator (SA) role must reconfigure the system to enable Java

14.2.1.2. CMP の設定

System Adaptive Server Enterprise で、ユーザ定義の Java オブジェクトにCMP (Container Managed Persistence: コンテナー管理の永続性) を使用するには、ご利用中のデータベースに Java クラスをインストールする必要があります。システムテーブル sysxtypes には、各拡張 Java-SQL データタイプに対して 1 つの行が含まれており、このテーブルは、Java が有効な Adaptive Server のみに利用されます。Java のために有効になっている Adaptive Server のみに使用されます。installjava プログラムを使用して java クラスをインストールしてください。
installjava -f <jar-file-name> -S<sybase-server> -U<super-user> -P<super-pass> -D<db-name>
別のオプションについては、Sybase の installjava マニュアルを参照してください。

14.2.1.3. Java クラスのインストール

  1. Java クラスをインストールするには、必要な権限を持つスーパーユーザーになる必要があります。
  2. インストールする JAR ファイルは圧縮せずに作成する必要があります。
  3. インストールしてサーバー内で使用する Java クラスは JDK 1.2.2 でコンパイル されている必要があります。より新しい JDK で1つのクラスをコンパイルしても、 installjava ユーティリティを使用してサーバーにインストールできますが、 そのクラスの使用を試す時に、 java.lang.ClassFormatError 例外が発生します。 これは、Sybase Adaptive Server が内部で古い JVM を使用しているため、 それと同じもので Java クラスをコンパイルする必要があるからです。

14.2.1.4. Sybase v15.0.3 向けにデフォルトの @@textsize を増加

データベースから返されるデフォルトの最大テキストサイズの値に問題があると、JBoss Messaging 上でテストの一部が失敗してしまう可能性があります。この問題を修正するには、デフォルトの @@textsize を 32768 (バイト) から 2147483647 (バイト) に変更してください。
<connection-url> ディレクティブの中にある sybase-ds.xml に変更を加えます。サンプルの sybase-ds.xml ファイルは、JBOSS_DIST/jboss-as/docs/examples/jca/ に置かれています。

重要

ディレクティブ値としてデータベースへの全 URL を指定します。[domain] を Sybase Database をホストしているドメイン名か IP アドレスと置き換え、[port] をリクエストを受け取るよう設定されたポートと置き換えてください。
<connection-url>jdbc:sybase:[domain]:[port]/db_name?SQLINITSTRING=set TextSize 2147483647</connection-url>