18.8.6 DB Connectorのプロパティ定義
DB Connectorのプロパティ定義の手順については,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「4.2.2 DB Connectorのプロパティ定義」を参照してください。
ここでは,次のDB Connectorについて,コンフィグレーションプロパティの設定例を示します。
-
DBConnector_DABJ_CP.rarで,Oracle,HiRDB,またはXDM/RD E2を使用する場合
-
DBConnector_DABJ_XA.rarで,OracleまたはHiRDBを使用する場合
- 〈この項の構成〉
(1) DBConnector_DABJ_CP.rarで,Oracle,HiRDB,またはXDM/RD E2を使用する場合の設定例
DBConnector_DABJ_CP.rarで,Oracle,HiRDB,またはXDM/RD E2を使用する場合の,コンフィグレーションプロパティの設定例を,次の表に示します。
項目名 |
Oracleの場合の設定例 |
HiRDBの場合の設定例 |
XDM/RD E2の場合の設定例 |
---|---|---|---|
networkProtocol |
lib |
lib |
lib |
databaseName |
ORACLE8I※1 |
HIRDB |
HIRDB |
description |
<ネット・サービス名> |
<HiRDBポート番号>※2 |
<データベースコネクションサーバのサーバスケジュール番号>※2 |
DBHostName |
− |
<HiRDBホスト名> |
<XDM/RD E2ホスト名> |
loginTimeout |
0 |
0 |
0 |
serverName |
− |
− |
− |
portNumber |
40179 |
40179 |
40179 |
DBEnv |
− |
− |
− |
encodLang |
− |
− |
− |
JDBC_IF_TRC |
false |
false |
false |
SV_EVENT_TRC |
false |
false |
false |
TRC_NO |
500 |
500 |
500 |
uapName |
− |
− |
− |
bufSize |
64※3 |
64※3 |
64※3 |
rowSize |
16 |
16 |
16 |
OSAuthorize |
false |
false |
false |
HiRDBCursorMode |
false |
false |
false |
blockUpdate |
false |
false |
false |
executeDirectMode |
false |
false |
false |
SQLWarningIgnore |
false |
false |
false |
LONGVARBINARY_Access |
REAL |
REAL |
REAL |
bufferPoolSize |
0 |
0 |
0 |
PreparedStatementPoolSize |
10 |
10 |
10※4 |
CallableStatementPoolSize |
10 |
10 |
10※4 |
CancelStatement |
true |
true |
false |
ConnectionIDUpdate |
false |
false |
false |
logLevel |
ERROR |
ERROR |
ERROR |
(2) DBConnector_DABJ_XA.rarで,OracleまたはHiRDBを使用する場合の設定例
DBConnector_DABJ_XA.rarで,OracleまたはHiRDBを使用する場合の,コンフィグレーションプロパティの設定例を,次の表に示します。
項目名 |
Oracleの場合の設定例 |
HiRDBの場合の設定例 |
---|---|---|
networkProtocol |
lib |
lib |
databaseName |
ORACLE8I※1 |
HIRDB |
description |
<ネット・サービス名> |
<環境変数グループ識別子>※2 |
DBHostName |
− |
<HiRDBホスト名> |
XAOpenString |
Oracle_XA+DB=<ネット・サービス名>+SqlNet=<ネット・サービス名>+Acc=P/<DBのユーザ名※3>/<DBのパスワード※4>+SesTm※5=300+Threads=true |
|
loginTimeout |
0 |
0 |
serverName |
− |
− |
portNumber |
40179 |
40179 |
DBEnv |
− |
− |
encodLang |
− |
− |
JDBC_IF_TRC |
false |
false |
SV_EVENT_TRC |
false |
false |
TRC_NO |
500 |
500 |
uapName |
− |
− |
bufSize |
64※8 |
64※8 |
rowSize |
16 |
16 |
OSAuthorize |
false |
false |
HiRDBCursorMode |
false |
false |
blockUpdate |
false |
false |
executeDirectMode |
false |
false |
SQLWarningIgnore |
false |
false |
LONGVARBINARY_Access |
REAL |
REAL |
bufferPoolSize |
0 |
0 |
XACloseString |
− |
− |
RMID |
1 |
1※9 |
XAThreadMode |
true |
true |
XALocalCommitMode |
true |
true |
PreparedStatementPoolSize |
10 |
10 |
CallableStatementPoolSize |
10 |
10 |
CancelStatement |
true |
false |
ConnectionIDUpdate |
false |
false |
logLevel |
ERROR |
ERROR |
(3) ステートメントプーリングの設定についての注意事項
DABroker Libraryを使用する場合にステートメントプーリングを設定するときの注意事項について説明します。なお,ステートメントプーリングの機能および設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.4 ステートメントプーリング」および「3.14.10 実行環境での設定」を参照してください。
(a) PreparedStatement,CallableStatementのプールサイズの制限
DABroker Libraryを使用する場合,PreparedStatement,CallableStatementのプールサイズに制限があります。
-
PreparedStatementPoolSizeとCallableStatementPoolSizeの合計値は,DABrokerの最大ステートメント数以下に設定してください。
合計値が最大ステートメント数を超えた場合には,PreparedStatementPoolSizeとCallableStatementPoolSizeにデフォルト値が使用されます。PreparedStatementPoolSize,CallableStatementPoolSizeは,リソース数が最大値を超えないように設定してください。一つのコネクションで利用できるリソース(Statement,PreparedStatement,CallableStatement,DatabaseMetaDataから取得したResultSet)の総数は,最大値が決められています。リソース数の最大値については,「18.12 Connectionクラス」を参照してください。
最大値を超えた場合には,ユーザアプリケーションプログラムに例外が通知されます。例外が通知された場合,次のように対処してください。
-
「PreparedStatementPoolSize」,「CallableStatementPoolSize」の値を小さくする。
-
ユーザアプリケーションプログラムで,リソースが不要になったらすぐに解放するようにする。
指定できるプールサイズについては,「18.31.1 DB Connectorに設定する<config-property>タグに指定できるプロパティ」を参照してください。
-
(b) XDM/RD E2に接続する場合のバージョン
XDM/RD E2に接続するする場合は,XDM/RD E2 11-02以降のバージョンとDABroker Library 03-13以降を使用する場合にだけステートメントプーリング機能を使用できます。
(c) Oracleに接続する場合にステートメントプーリング機能とコネクションの障害検知機能を併用するとき
コネクションの障害検知に使用されるPreparedStatementがコネクションごとに一つプーリングされます。そのため,PreparedStatementPoolSize,CallableStatementPoolSizeを決定する際には,コネクションの障害検知用のPreparedStatementもリソース数の見積もりに加えて,CallableStatementPoolSizeを最大ステートメント数未満に設定してください。例えば,DABroker Libraryを使用している場合,PreparedStatementPoolSize=0,CallableStatementPoolSize=<最大ステートメント数>と設定して,プーリングされているCallableStatementの数が最大ステートメント数に達したとき,コネクションの障害検知が実行されると,DABroker Libraryの一つのコネクションで利用できるリソース数の最大値を超えるため,例外が発生します。例外が発生すると障害が発生したと判断されるので,そのコネクションはコネクションプールから削除され,同時にステートメントプールも破棄されます。つまり,ステートメントプーリング機能を使用する意味がなくなってしまいます。したがって,コネクションの障害検知機能を使用する場合には,CallableStatementPoolSizeを最大ステートメント数未満に設定してください。