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
- 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
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
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
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>
installjava -f <jar-file-name> -S<sybase-server> -U<super-user> -P<super-pass> -D<db-name>
別のオプションについては、Sybase の installjava マニュアルを参照してください。
14.2.1.3. Java クラスのインストール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
- Java クラスをインストールするには、必要な権限を持つスーパーユーザーになる必要があります。
- インストールする JAR ファイルは圧縮せずに作成する必要があります。
- インストールしてサーバー内で使用する 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> ディレクティブの中にある
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
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>
<connection-url>jdbc:sybase:[domain]:[port]/db_name?SQLINITSTRING=set TextSize 2147483647</connection-url>