9.JDBCデータソースに関する設定

JDBCデータソースに関する設定について説明します。

9.1.JDBCデータソース設定項目・設定方法

JDBCデータソースのMO名は、「jdbc-datasource.datasource-name」です。datasource-nameは、"jdbc/"で始まるJDBCデータソースの定義名です。JNDIサーバへの登録名を兼ねます。 JDBC データソースの登録を行うと、JDBCデータソースの定義情報がdomain.xmlに登録され、同時に、JNDIサーバへの登録が行われます。また、管理コマンド等で設定変更を行った際には、 domain.xmlの変更とJNDIサーバへの再登録が行われます。domain.xmlの設定をエディタ等で修正してもJNDIサーバへの再登録が行われないため、変更内容を動作に反映させることはできません。

コマンドで各項目を参照・設定する際は、「server.resources.jdbc-datasource.datasource-name」という名前を指定します。また、統合運用管理ツールでは、ドメイン ツリーの「WebOTXAdmin[ホスト名].ドメイン名.resources.jdbc-datasource.datasource-name」を選択します。項目の設定方法については「2.各サービスの属性の設定」を参照してください。

JDBCデータソースの属性やプロパティの値を変更した場合、アプリケーションで、JNDIサーバからJDBCデータソースを再取得した際に、変更内容が動作に反映されます。 ただし、java:comp/env指定で、アプリケーション固有の名前空間からJDBCデータソースを取得する場合に、変更内容を動作に反映するためには、プロセス(JavaVM)の再起動が必要です。コネクションに関連する属性やプロパティ(dataSourceType や jdbcMajorVersion、dataSourceName、serverName、networkProtocol、portNumber、userName、password、loginTimeout、jdbcDriverName、cursorMode、characterEncoding、maxStatements、useJTA、useOneConnectionPerTransaction、useDatabaseCluster、checkGarbageOption)を変更する場合は、プロパティ置換までの待機時間(propertyCycle)が経過した後で、そのプールに存在するコネクション全てが消滅し、新しいコネクションが作成されます。

なお、JDBCデータソースでは、旧バージョンで提供していたdsadmコマンドも利用することができます。dsadmコマンドのリファレンスについては「JDBCデータソースコマンドリファレンス」を参照ください。

定義の追加

> dsadm bind property-file-name

項目の参照

> dsadm list

項目の設定

> dsadm rebind property-file-name

9.2.JDBCデータソース設定項目一覧

JDBCデータソースのMOを介して、次の項目を参照・設定することができます。

Dottedname : server.resources.jdbc-datasource.datasource-name

属性名
[attribute-name]
説 明 既定値
JNDIサーバへの登録名
[jndiName]
JNDIサーバへの登録名です。
"jdbc/"で始まる名前を設定してください。この名前はJDBCデータソースの定義を一意に表す名前として使用されます。
なし
データソースの種別
[dataSourceType]
JDBCデータソースで使用する、JDBCドライバベンダ提供のインタフェースの種別を表わす文字列です。次のいずれかを設定します。

JDBCEX_Oracle
バージョン8.1.7以降のOracleのJDBC Optional Packageインタフェースを使用します。

JDBCEX_Sybase
バージョン12.5以降のSybase Adaptive Server EnterpriseのJDBC Optional Packageインタフェースを使用します。

JDBCEX_MSSqlServer
バージョン2000以降のMicrosoft SQL ServerのJDBC Optional Packageインタフェースを使用します。

JDBCEX_DB2
バージョン8.1.4以降のDB2 Universal DatabaseのJDBC Optional Packageインタフェースを使用します。

JDBCEX_Cloudscape
バージョン3.0.3以降のCloudscapeのJDBC Optional Packageインタフェースを使用します。

JDBCEX_SequeLink
バージョン5.0以降のSequeLinkのJDBC Optional Packageインタフェースを使用します。

JDBCEX_PostgreSQL
バージョン7.3.2以降のPostgreSQLの JDBC Optional Packageインタフェースを使用します。

JDBCEX_Derby
バージョン10.2.2以降のApache Derbyの JDBC Optional Packageインタフェースを使用します。

JDBC
java.sql.DriverManagerを介してJDBCのインタフェースを使用します。JDBCEXタイプでサポートされていないJDBCドライバを使用する場合に使用してください。
なし
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンです。
234を設定します。
2
JDBC仕様のマイナーバージョン
[jdbcMinorVersion]
JDBC仕様のマイナーバージョンです。
現在設定する必要はありません。
0
最小プールサイズ
[minPoolSize]
JDBCコネクションのプールサイズです。
設定された数までのJDBCコネクションが常時保持されます。0を設定した場合、プール管理を行いません。この値を越えて払い出されたコネクションは、shrinkDelayTimeで指定された時間が経過した後で、 コネクションをクローズした時、または、トランザクションが完了した時に解放されます。
4
最大プールサイズ
[maxPoolSize]
JDBCコネクションの最大プールサイズです。
maxPoolSizeを超えるJDBCコネクションの取得要求は失敗します。0を設定した場合、制限なしとなります。それ以外の場合は、minPoolSize以上の値を設定してください。
0
初期プールサイズ
[initialPoolSize]
プール作成時にプールされるJDBCコネクションの数です。
プール作成時とは、通常、ドメインやプロセスグループの起動時です。ただし、スタンドアロンのJavaアプリケーションなどからJDBCデータソースを利用する場合には、最初にgetConnectionメソッドを呼び出した時になります。 minPoolSize以下の値を設定してください。
0
JTA連携有無
[useJTA]
JTA(EJBのトランザクション)との連携有無を表わすブール値です。

true
JTAと連携します。

false
JTAと連携しません。
true
JDBCデータソースについての説明
[description]
JDBCデータソースについての説明です。
文字列の内容は自由です。例えば、プロパティの設定内容を判別するための記述を設定してください。
なし
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベースサーバと接続するための文字列です。
dataSourceTypeの値に応じて、データベースとの接続文字列やデータベース名、またはデータソース名を設定します。
なし
ユーザ名[userName] データベースとの接続時に使用するユーザ名です。
アプリケーションへのJDBCコネクションの返却や、JDBCデータソースのテスト操作、および、データベースサーバの状態監視(checkServerOptionへのmonitor指定)が行われる場合に本設定が使用されます。 ただし、JDBCコネクションの取得メソッドでユーザ名を指定した場合、本設定は使用されません。
なし
パスワード[password] データベースとの接続時に使用するパスワードです。
アプリケーションへのJDBCコネクションの返却や、JDBCデータソースのテスト操作、および、データベースサーバの状態監視(checkServerOptionへのmonitor指定)が行われる場合に本設定が使用されます。ただし、JDBCコネクションの取得メソッドでパスワードを指定した場合、本設定は使用されません。
なし
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)です。 なし
ポート番号
[portNumber]
データベースサーバ側のポート番号です。
dataSourceTypeの値に応じて初期値が設定されます。統合運用管理ツールでJDBCデータソースの登録を行う場合、データソースの種別[dataSourceType]を変更する度に、デフォルト値が設定されることに注意してください。
dataSourceType毎の設定を参照してください
ステートメントの最大プール数
[maxStatements]
ステートメントの最大プール数です。
0を設定した場合、プール管理は行われません。設定可否はdataSourceType毎に異なります。
0
ログインタイムアウト
[loginTimeout]
JDBCコネクション接続時のタイムアウト値(単位:秒)です。
0を設定した場合、タイマ監視は行われません。
0
無通信時間の上限
[maxIdleTime]
JDBCコネクションが未使用状態のままプールされ続ける時間(単位:秒)です。
設定された時間が経過した未使用状態のJDBCコネクションは破棄されます。0を設定した場合、アイドル時間監視は行われません。
0
プロパティ置換までの待機時間
[propertyCycle]
動作中のJDBCデータソースが使用するプロパティ値を強制的に変更するまでの待ち時間(単位:秒)です。
JNDIサーバからJDBCデータソースをlookupし直した場合、設定された時間が経過した後で新しい属性やプロパティが反映されます。0を設定した場合、待ち合わせは行われません。
0
接続リトライ回数
[connectRetryMax]
JDBCコネクションの取得に失敗した場合の、接続リトライ回数です。
0を設定した場合、リトライは行われません。
0
接続リトライ間隔
[connectRetryInterval]
JDBCコネクションの取得に失敗した場合の、接続リトライ間隔(単位:秒)です。 10
データベースサーバの状態監視オプション
[checkServerOption]
データベースサーバの状態監視オプションです。
JDBCデータソースでは、データベースサーバの状態監視コマンドを発行することでデータベースサーバの状態を確認し、無効となったJDBCコネクションを取り除きます。次のいずれかを設定します。

monitor
定期的にデータベースサーバの状態を確認します。

method
JDBCコネクションを払い出す度に、データベースサーバの状態を確認します。

none
この機能を無効にします。
none
データベースサーバの状態監視間隔
[checkServerInterval]
checkServerOptionmonitorを指定した時の監視間隔(単位:秒)です。 180
データベースサーバの状態監視コマンド
[checkServerCommand]
データベースの状態監視のために使用するSQL命令です。SELECT命令など、ロックの競合が発生しないSQL命令を指定してください。

connectを指定すると、状態監視の度にJDBCコネクションが新規に接続されます。接続時に障害を検出するまでの間隔は、loginTimeoutで調整することができます。
なお、resetAllConnectionsOnFailurefalseの場合やcheckServerOptionmethodの場合は、connect の指定は有効になりません。その場合は、commitが実行されます。
connectを指定する場合、通信障害を引き起こす可能性があるため、checkServerIntervalの間隔を短くし過ぎないように注意してください。
commit
コネクションのガベージコレクト機能における動作オプション
[checkGarbageOption]
JDBC Connectionオブジェクトの、ガベージコレクト機能における動作オプションです。次のいずれかを設定します。

close
ガベージコレクトの対象となったJDBCコネクションを切断します。

rollback
ガベージコレクトの対象となったJDBCコネクションを切断します。また、autoCommitモードにfalseが指定された状態でローカルトランザクションを実行していた場合は、ロールバックを発行します。

debug
rollbackが設定された時と同じ動作を行います。また、ガベージコレクトの対象となったJDBCコネクションがアプリケーションに払い出された際のスタックトレースをログに出力します。

none
この機能を無効にします。

autoCommitモードにtrue(デフォルト値)が設定された状態でローカルトランザクションを実行する場合や、JTA(EJB)のトランザクションを実行する場合、rollbackを指定する必要はありません。closeを指定してください。
その他の場合は、トランザクションが中途半端な状態でコミットされないようにするため、rollbackを指定してください。
none
コネクションのガベージコレクト間隔
[checkGarbageInterval]
java.lang.System.gc()を呼び出す間隔(単位:秒)です。
gc()を呼び出すことで、何処からも参照されていないConnectionオブジェクトがガベージコレクトの対象となるように促します。0が設定された場合、または、checkGarbageOptionの値がrollbackまたはdebugでない場合は、gc()を呼び出しません。
checkGarbageOptionで設定された動作の実行契機は、ガベージコレクタの実行契機次第ですので、即時性を保障できません。このため、コミットやロールバックの発行が漏れた際に、そのまま次のトランザクションが実行されてデータベース側のロック解除待ちとなり、長時間応答が返らない可能性があります。そうした障害を回避するためには、このパラメータを指定してください。ただし、System.gc()の呼び出しには、メモリの使用状況に応じてかなりの時間を要するため、少なくとも分単位の値を指定した上で、十分な評価を行ってください。
0
自動コミットのデフォルト値
[defaultAutoCommit]
JTA(EJB)のトランザクションを実行しない場合の、autoCommitモードのデフォルト値です。
JTA(EJB)のトランザクションを実行する場合、autoCommitモードは必ず自動的にfalseになります。
true
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTA(EJB)のトランザクション毎に1つの物理コネクションを使用するかどうかを表わすブール値です。
設定可否はdataSourceType毎に異なります。JTAのトランザクションで、同一データベースに対する複数のJDBCコネクションを同時に利用する場合、trueを設定してください。 EJBからさらに別のEJBを呼び出す場合には、一部のトランザクション制御のシーケンスが省略され、性能が改善される可能性があります。
false
データベースクラスタの使用有無
[useDatabaseCluster]
データベースのクラスタ構成サポート機能の使用有無を表わすブール値です。設定可否はdataSourceType毎に異なります。 false
コネクションの一括破棄可否
[resetAllConnectionsOnFailure]
データベースの状態監視やJDBCドライバからのコネクション障害通知で障害が検出された際に、プール内の全てのJDBCコネクションを破棄するかどうかを表すブール値です。 true
コネクション解放までの待機時間
[shrinkDelayTime]
minPoolSizeを超えて払い出されたJDBCコネクションを解放するまでの待ち時間(単位:秒)です。
JDBCコネクションは、指定された時間が経過した後で、クローズした時、または、トランザクションが完了した時に解放されます。
15
定義ファイルの格納ディレクトリ名
[iPXdaConfigDirectoryName]
ACOS Access Toolkitが使用する定義ファイルの格納ディレクトリ名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
$INSTANCE_ROOT
/config/iPXda
動作環境定義ファイル名
[iPXdaConfigFileName]
ACOS Access Toolkitが使用する動作環境定義ファイル名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
DataAccessEnvConfig.xml
トランザクション定義ファイル名
[iPXdaInvokeConfigFileName]
ACOS Access Toolkitが使用するトランザクション定義ファイル名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
DataAccessTrnsConfig.xml
オプション定義ファイル名
[iPXdaOptionConfigFileName]
ACOS Access Toolkitが使用するオプション定義ファイル名です。
JavaVM内で最初に使用された値が有効になります。このため、複数のJDBCデータソースを使用する際は、設定値を統一してください。
AAT.properties
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを表わすブール値です。 false
初期接続の接続リトライ有無
[reconnectInitialPool]
初期接続の接続リトライを行うかどうかを表わすブール値です。
データベースサーバの状態監視間隔 [checkServerInterval]で指定された値がリトライ間隔として使用されます。
true
コネクションプールのクラスタ動作オプション
[clusterPoolOption]
コネクションプールのクラスタ制御機能における動作オプションです。次のいずれかを設定します。

roundrobin
アプリケーションからの要求時に、複数のコネクションプールからラウンドロビンにJDBCコネクションを払出します。

standby
通常時に接続するデータベースサーバとのコネクションプール(稼動系)のほかに、べつのデータベースサーバとのコネクションプール(待機系)を保持しておきます。稼動系サーバの障害を検知した場合には、待機系のコネクションプールからJDBCコネクションを払出します。

none
この機能を無効にします。
none
クラスタ対象のJDBCデータソース名リスト
[clusterPoolNames]
コネクションプールのクラスタ対象となるJDBCデータソース名のリストです。
クラスタ対象とするJDBCデータソース名を、カンマ区切りの文字列で指定します。clusterPoolOptionが、none以外の場合に指定してください。
なし
障害時の再接続処理ポリシー
[validAllClusterConnectionsOnFailure]
クラスタ対象のコネクションプールが全て障害となった場合に、全てのプールに対して再接続リトライ処理を行うかどうかを表すブール値です。次のいずれかを設定します。

true
接続が成功するまで、全てのコネクションプールに対して再接続リトライ処理を行います。

false
1つのコネクションプールで再接続リトライ処理を行います。

この属性は、clusterPoolOptionが、none以外の場合に設定してください。
false

そのほかに、アプリケーションプロセスにおけるリソースのロード設定に関する属性があります。詳細は、「6.4リソースのプロセス単位のロード設定(Standard/Enterprise Editionの場合)」を参照してください。

Dottedname : server.resources.jdbc-datasource.datasource-name.property

プロパティ名 説 明 既定値
jdbcDriverName データソースタイプがJDBCの場合にロードされる、JDBCドライバのクラス名です。 自動設定
networkProtocol データベースとの通信プロトコルを表わす文字列です。dataSourceTypeの値に応じて初期値が設定されます。 dataSourceType毎の設定を参照してください
useStaticPool JDBCコネクションの共有範囲を表わすブール値です。

true
同一プロセス内のJDBCデータソース間でJDBCコネクションを共有します。

false
JDBCデータソースのインスタンス間でJDBCコネクションを共有しません。
true
cursorMode データベースカーソルの利用有無を表わす文字列です。次のいずれかを設定します。 設定可否はdataSourceType毎に異なります。

cursor
データベースカーソルを利用します。

direct
データベースカーソルを利用しません。
cursor
characterEncoding 文字列引数を送信する際の変換方法を表わす文字列です。次のいずれかを設定します。 設定可否はdataSourceType毎に異なります。

Unicode
Unicodeの文字列をそのまま送信します。

Default
データベースのデフォルトのcharacter encodingに従って変換した文字列を送信します。
Default
databaseName TransactionサービスのDB情報の定義名(DB識別名)です。Transactionサービスの社間接続を行うために、TransactionサービスのRecoveryServerと連携する場合に設定します。そのほかの場合、設定する必要はありません。 なし
logLevel JDBCデータソースがAPサーバプロセス外で動作する際のログ出力レベルです。次のいずれかを設定します。

info
動作に関する重要な情報を標準出力に出力します。

debug
動作に関する主な情報を標準出力に出力します。

trace
全ての情報を標準出力に出力します。

none
ログを全く出力しません。
info
autoRecoveryOnOnePhaseCommit 2フェーズコミットで、dataSourceTypeの値がJDBCであるコネクションに対するコミットが失敗した場合に、トランザクション全体を自動的にロールバックするかどうかを表わすブール値です。
コミットが失敗した場合の結果は、通常ロールバックされた状態になりますが、データベースサーバ側でのコミット処理完了後に通信障害が発生した場合など、稀にコミットされていることがあります。 対策としては、この設定にfalseを設定することで自動的にロールバックされないようにしておき、コミットの結果をJDBCドライバやデータベースが提供する運用操作や例外メッセージに従って確認した上で、 トランザクションを復旧してください。トランザクションの復旧操作については、「運用編(Transactionサービスの運用操作)」を参照してください。

true
トランザクション全体を自動的にロールバックします。

false
トランザクションの完了処理を保留します。
true
jndiProviderUrl JNDIプロバイダのURLです。clusterPoolOptionnone以外で、リモートのJNDIサーバと接続する場合に設定します。

 例:corbaname://hostname1
なし

Javaのシステムプロパティに、次の項目を設定することができます。JDBCデータソースのMOを介して設定する項目に優先する、プロセス内共通の設定となります。通常のログ出力内容の設定方法については、 「運用編(ログ)」を参照してください。

プロパティ名 説 明 既定値
wojdbc.Log 設定内容は、logLevelプロパティと同様です。 none
wojdbc.CheckGarbageOption 設定内容は、checkGarbageOptionと同様です。 none
wojdbc.CheckGarbageInterval 設定内容は、checkGarbageIntervalと同様です。 0
wojdbc.CursorMode 設定内容は、cursorModeプロパティと同様です。 cursor
wojdbc.CharacterEncoding 設定内容は、characterEncodingプロパティと同様です。 Default
wojdbc.MaxIdleTime 設定内容は、maxIdleTimeと同様です。 0


9.3.Oracleでの設定内容

OracleのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Oracle を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
次のようなデータベースとの接続文字列を設定します。
"jdbc:oracle:thin:@host:1521:orcl"
"jdbc:oracle:oci:@orcl"
←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
サーバ名
[serverName]
---(設定しません) ←(同じです)
ポート番号
[portNumber]
---(設定しません) ←(同じです)
ステートメントの最大プール数
[maxStatements]
プールするステートメントの最大数を設定します。 ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
Oracle RACを利用し、かつ、2フェーズコミットを行う場合にtrueを設定します。 ---(設定しません)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.4.DB2での設定内容

DB2 Universal JDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_DB2 を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
23を設定します。 ←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は50000です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
---(設定しません。必ず、trueとして処理が行われます) ←(同じです)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.5.Microsoft SQL Serverでの設定内容

Microsoft SQL ServerのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_MSSqlServer を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
23を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は1433です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
cursorMode データベースカーソルの利用有無を設定します。
設定値はSelectMethodプロパティ値としてJDBCドライバに設定されます。
←(同じです)
characterEncoding 文字列引数を送信する際の変換方法を設定します。
設定値はUnicodeかどうかを表すブール値に変換され、SendStringParametersAsUnicodeプロパティ値としてJDBCドライバに設定されます。ただし、Microsoft SQL Server 2005のJDBCドライバを使用してJTA連携を行う場合、必ず、Unicodeとして処理が行われます。
←(同じです)
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとnetworkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.6.Sybaseでの設定内容

SybaseのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Sybase を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
---(設定しません) ←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は6001です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
cursorMode データベースカーソルの利用有無を設定します。
cursorを設定した場合、REPEAT_READプロパティ値としてfalseがJDBCドライバに設定されます。
directを設定した場合、REPEAT_READプロパティ値としてtrueがJDBCドライバに設定されます。
←(同じです)
characterEncoding 文字列引数を送信する際の変換方法を設定します。
Unicodeを設定した場合、JCONNECT_VERSIONプロパティ値として 6 がJDBCドライバに設定されます。
←(同じです)
networkProtocol データベースとの通信プロトコルを設定します。デフォルト値はTdsです。 ←(同じです)


9.7.SequeLinkでの設定内容

SequeLinkのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_SequeLink を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
JDBCEX_SequeLinkを設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
23を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。
デフォルト値は19996です。
←(同じです)
ステートメントの最大プール数
[maxStatements]
プールするステートメントの最大数を設定します。 ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
networkProtocol データベースとの通信プロトコルを設定します。デフォルト値はTcpipです。 ←(同じです)
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.8.Cloudscapeでの設定内容

CloudscapeのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Cloudscape を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
23を設定します。
←(同じです)
サーバ名
[serverName]
---(設定しません) ←(同じです)
ポート番号
[portNumber]
---(設定しません) ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
networkProtocol ---(設定しません) データベースとの通信プロトコルを設定します。
rmiを指定するか指定なしのいずれかです。rmiを指定するとローカルホストのRmiJdbcサーバにデフォルトのポート番号1099で接続します。デフォルト値は指定なしです。
サーバ名とポート番号を指定する場合は"rmi://hostname:port番号/"と記述します。
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcharacterEncoding、cursorMode以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.9.PostgreSQLでの設定内容

PostgreSQLのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_PostgreSQL を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。デフォルト値は5432です。 ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
---(設定しません。必ず、trueとして処理が行われます) ←(同じです)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.10.Apache Derby での設定内容

Apache DerbyのJDBCドライバのDataSourceインタフェースを使用する場合、dataSourceTypeJDBCEX_Derby を設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
データベース名を設定します。 ←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
サーバ名
[serverName]
データベースサーバ側のサーバ名(TCP/IPホスト名)を設定します。 ←(同じです)
ポート番号
[portNumber]
データベースサーバ側のポート番号を設定します。デフォルト値は1527です。 ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
JTAのトランザクション毎に1つの物理コネクションを使用するかどうかを設定します。 ←(同じです)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
ACOS Access Toolkit関連の設定
[iPXdaConfigDirectoryName]
[iPXdaConfigFileName]
[iPXdaInvokeConfigFileName]
[iPXdaOptionConfigFileName]
---(設定しません) ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
JTA(EJB)の同一トランザクション内で、複数ユーザのJDBCコネクションを使用するかどうかを設定します。 ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
databaseName TransactionサービスのDB識別名を設定します。通常、設定する必要はありません。 ---(設定しません)
その他 jdbcDriverNameとcursorMode、characterEncoding、networkProtocol、autoRecoveryOnOnePhaseCommit以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.11.JDBC での設定内容

そのほかのJDBCドライバを使用する場合、dataSourceTypeプロパティにJDBCを設定します。また、EJBのトランザクション(JTA)と連携するかどうかによって、次の内容を設定します。

属性名
[attribute-name]
JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
JDBC URLまたはデータベース名、データソース名
[dataSourceName]
例えば次のような、データベースとの接続文字列を設定します。
"jdbc:oracle:thin:@host:1521:orcl"
"jdbc:oracle:oci:@orcl"
"jdbc:microsoft:sqlserver://host:1433"
"jdbc:sqlserver://host:1433"
"jdbc:db2://host:50000/SAMPLE"
"jdbc:sybase:Tds:host:6001"
"jdbc:sequelink://host:19996"
"jdbc:cloudscape:/opt/cloudscape/tmpdb"
"jdbc::db2j:toursDB"
"jdbc:postgresql://host:4321/dbname"
"jdbc:odbc:dbname"
"jdbc:nec-acos4-dataaccess:dbname"
"jdbc:nec-acos4-dataaccess-ex:dbname"
"jdbc:derby://host:1527/dbname"
←(同じです)
JDBC仕様のメジャーバージョン
[jdbcMajorVersion]
JDBC仕様のメジャーバージョンを設定します。
234を設定します。
←(同じです)
サーバ名
[serverName]
---(設定しません) ←(同じです)
ポート番号
[portNumber]
---(設定しません) ←(同じです)
ステートメントの最大プール数
[maxStatements]
---(設定しません) ←(同じです)
JTA連携有無
[useJTA]
trueを設定します。 falseを設定します。
JTAのトランザクション毎に1つの物理コネクションを使用するかどうか
[useOneConnectionPerTransaction]
---(設定しません。必ず、trueとして処理が行われます) ---(設定しません)
データベースクラスタの使用有無
[useDatabaseCluster]
---(設定しません) ←(同じです)
定義ファイルの格納ディレクトリ名
[iPXdaConfigDirectoryName]
ACOS Access ToolkitのJDBCドライバを利用する場合に定義ファイルの格納ディレクトリ名を設定します。 ←(同じです)
動作環境定義ファイル名
[iPXdaConfigFileName]
ACOS Access ToolkitのJDBCドライバを利用する場合に動作環境定義ファイル名を設定します。 ←(同じです)
トランザクション定義ファイル名
[iPXdaInvokeConfigFileName]
ACOS Access ToolkitのJDBCドライバを利用する場合にトランザクション定義ファイル名を設定します。 ←(同じです)
オプション定義ファイル名
[iPXdaOptionConfigFileName]
ACOS Access ToolkitのJDBCドライバを利用する場合にオプション定義ファイル名を設定します。 ←(同じです)
トランザクション毎の複数ユーザ使用有無
[useMultiUsersPerTransaction]
---(設定しません。同一トランザクション内で、複数ユーザのJDBCコネクションを同時に使用することはできません。) ---(設定しません)
その他 必要に応じて設定します。 ←(同じです)

プロパティ名 JTAと連携する場合の設定内容 JTAと連携しない場合の設定内容
jdbcDriverName dataSourceNameの説明で例示した接続文字列を使用するJDBCドライバの名前は設定する必要がありません。それ以外のJDBCドライバを使用する場合には、JDBCドライバのクラス名を設定します。 ←(同じです)
autoRecoveryOnOnePhaseCommit 2フェーズコミットを実行する場合に、必要に応じて設定します。 ---(設定しません)
その他 cursorModeとcharacterEncoding、networkProtocol、databaseName以外のプロパティを、必要に応じて設定します。 ←(同じです)


9.12.クラスパス設定

JDBCデータソースを使用する場合は、使用するデータベースまたはJDBCドライバに応じて次のファイルをクラスパスに追加する必要があります。

クラスパスの設定方法については「運用編(ドメインの運用)」の「4.7 Java VM環境の設定」を参照してください。設定では、複数バージョンのクラスが混在しないように、必要なファイルだけをクラスパスに追加してください。

データベース または、
JDBCドライバ
ファイル名
Oracle Oracle 11gを使用する場合
Java5以前の場合
ojdbc5.jar orai18n.jar ($ORCLE_HOME/jlibを参照)
Java6以降の場合
ojdbc6.jar orai18n.jar ($ORCLE_HOME/jlibを参照)

Oracle 10gを使用する場合
ojdbc14.jar orai18n.jar ($ORCLE_HOME/jdbc/libか$ORACLE_HOME/jlibを参照)

Oracle 9.2を使用する場合
ojdbc14.jar nls_charset12.jar

それ以外の場合
classes12.zip nls_charset12.zip
DB2 db2jcc.jar db2jcc_license_cu.jar または、db2jcc_license_cisuz.jar
Microsoft SQL Server SQL Server 2005を使用する場合
sqljdbc.jar

SQL Server 2000を使用する場合
mssqlserver.jar msbase.jar msutil.jar
Sybase jconn2.jar
SequeLink sljc.jar sljcx.jar
Cloudscape Cloudscapeバージョン5以降の場合
db2j.jar db2jtools.jar

それ以外の場合
RMIを使用しない場合
cloudscape.jar
RMIを使用する場合
cloudclient.jar rmiJdbc.jar
PostgreSQL PostgreSQLバージョン8.1を使用する場合
postgresql-8.1-404.jdbc3.jar

PostgreSQLバージョン8.2を使用する場合
postgresql-8.2-506.jdbc3.jar

PostgreSQLバージョン8.3を使用する場合
Java5以前の場合
postgresql-8.3-603.jdbc3.jar
Java6以降の場合
postgresql-8.3-603.jdbc4.jar

(jarファイル名は製品バージョン毎に異なります)
Apache Derby derbyclient.jar

JDBCデータソースで使用するJDBCドライバの主なクラスは次の通りです。

データベース または、
JDBCドライバ
クラス名
Oracle Oracle 11gを使用する場合
oracle.jdbc.xa.client.OracleXADataSource (JTA連携ありの場合)
oracle.jdbc.pool.OracleConnectionPoolDataSource (JTA連携なしの場合)
oracle.jdbc.OracleDriver (データソースの種別がJDBCの場合)

それ以外の場合
oracle.jdbc.xa.client.OracleXADataSource (JTA連携ありの場合)
oracle.jdbc.pool.OracleConnectionPoolDataSource (JTA連携なしの場合)
oracle.jdbc.driver.OracleDriver (データソースの種別がJDBCの場合)
DB2 com.ibm.db2.jcc.DB2XADataSource (JTA連携ありの場合)
com.ibm.db2.jcc.DB2ConnectionPoolDataSource (JTA連携なしの場合)
com.ibm.db2.jcc.DB2Driver (データソースの種別がJDBCの場合)
Microsoft SQL Server SQL Server 2005を使用する場合
com.microsoft.sqlserver.jdbc.SQLServerXADataSource (JTA連携ありの場合)
com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource (JTA連携なしの場合)
com.microsoft.sqlserver.jdbc.SQLServerDriver (データソースの種別がJDBCの場合)

SQL Server 2000を使用する場合
com.microsoft.jdbcx.sqlserver.SQLServerDataSource (JTA連携ありの場合)
com.microsoft.jdbcx.sqlserver.SQLServerDataSource (JTA連携なしの場合)
com.microsoft.jdbc.sqlserver.SQLServerDriver (データソースの種別がJDBCの場合)
Sybase com.sybase.jdbc2.jdbc.SybXADataSource (JTA連携ありの場合)
com.sybase.jdbc2.jdbc.SybConnectionPoolDataSource (JTA連携なしの場合)
com.sybase.jdbc2.jdbc.SybDriver (データソースの種別がJDBCの場合)
PostgreSQL JDBCのメジャーバージョンが3.0以降の場合
org.postgresql.xa.PGXADataSource (JTA連携ありの場合)
org.postgresql.jdbc3.Jdbc3ConnectionPool (JTA連携なしの場合)
org.postgresql.Driver (データソースの種別がJDBCの場合)

JDBCのメジャーバージョンが2.0以前の場合
org.postgresql.xa.PGXADataSource (JTA連携ありの場合)
org.postgresql.jdbc2.optional.ConnectionPool (JTA連携なしの場合)
org.postgresql.Driver (データソースの種別がJDBCの場合)
Apache Derby JDBCのメジャーバージョンが4.0以降の場合
org.apache.derby.jdbc.ClientXADataSource40 (JTA連携ありの場合)
org.apache.derby.jdbc.ClientConnectionPoolDataSource40 (JTA連携なしの場合)
org.apache.derby.jdbc.ClientDriver (データソースの種別がJDBCの場合)

JDBCのメジャーバージョンが3.0以前の場合
org.apache.derby.jdbc.ClientXADataSource (JTA連携ありの場合)
org.apache.derby.jdbc.ClientConnectionPoolDataSource (JTA連携なしの場合)
org.apache.derby.jdbc.ClientDriver (データソースの種別がJDBCの場合)
ACOS Access Toolkit com.nec.jp.iPX.da.sql.DataAccessJDBCDriver (データソースの種別がJDBCの場合)


9.13.その他の設定

OracleのOCI JDBCドライバなど、タイプ2のJDBCドライバを利用する場合には、必要に応じて環境変数の設定作業を行う必要があります。UNIX版では、Javaからロードするnativeのライブラリファイルに適切なアクセス権が付与されていることをご確認ください。 また、EJBのトランザクション(JTA)と連携する場合には、必要に応じてデータベースサーバ側の設定を行う必要があります。詳細は、オンラインリファレンスのマニュアル一覧にある注意制限事項の「6. JDBCデータソース」を参照してください。

そのほか、EJBのトランザクション(JTA)と連携する場合には、セットアップガイドの「2.3.4 データベースを使用するための準備作業(Java)」をご覧ください。