コネクターを実行するには、コネクターの標準構成プロパティーとコネクター固有の構成プロパティーを設定する必要があります。コネクターの構成プロパティーを設定するには、以下のツールを使用します。
標準の構成プロパティーにより、すべてのコネクターによって使用される情報が提供されます。これらのプロパティーに関する詳細については、付録 A, コネクターの標準構成プロパティーを参照してください。
さらに、Adapter for JDBC に固有な構成情報については、表 6 を参照してください。この表に示されている情報は、付録に収録されている情報を補足するものです。
プロパティー | 注 |
---|---|
CharacterEncoding | CharacterEncoding プロパティーはこのコネクターによって使用されません。 |
Locale | このコネクターは国際化されているため、Locale プロパティーの値は変更可能です。 |
コネクターを実行するには、ApplicationName 構成プロパティーに値を指定する必要があります。
コネクター固有の構成プロパティーは、コネクターが実行時に必要とする情報を提供します。また、コネクター固有の構成プロパティーを使用すると、コネクターのコード変更や再ビルドを行わなくても、静的情報またはロジックを変更できます。
表 7 に、コネクターに対するコネクター固有の構成プロパティーを示します。プロパティーの説明については、以下の各セクションを参照してください。
名前 | 指定可能な値 | デフォルト値 | 必須 |
---|---|---|---|
ApplicationPassword | コネクター・ユーザー・アカウントのパスワード |
|
Yes* |
ApplicationUserName | コネクター・ユーザー・アカウントの名前 |
|
Yes* |
ArchiveProcessed | true または false |
true |
いいえ |
ArchiveTableName | アーカイブ・キュー表の名前 |
xworlds_archive_events | ArchiveProcessed が true の場合は Yes |
AutoCommit | true または false |
false |
いいえ |
CheckforEventTableInInit | true または false |
true |
いいえ |
ChildUpdatePhyDelete | true または false |
false |
いいえ |
CloseDBConnection | true または false |
false |
いいえ |
ConnectorID | コネクターの固有 ID |
null |
いいえ |
DatabaseURL | データベース・サーバーの名前 |
はい | |
DateFormat | 時刻パターン・ストリング |
MM/dd/yyyy HH:mm:ss |
いいえ |
DriverConnectionProperties | 追加の JDBC ドライバー接続プロパティー |
|
いいえ |
EventKeyDel | イベント表のオブジェクト・キー列の区切り文字 (複数指定可能) |
semicolon (;) |
いいえ |
EventOrderBy |
none または列名, 列名, ...] |
いいえ | |
EventQueryType | Fixed または Dynamic |
Fixed |
いいえ |
EventTableName | イベント・キュー表の名前 |
xworlds_events | はい (ポーリングが必要な場合)。ポーリングが不要な場合はストリング null |
JDBCDriverClass | ドライバー・クラス名 |
はい | |
MaximumDatabaseConnections | 同時に存在できるデータベース接続の数 |
5 |
はい |
PingQuery |
SELECT 1 FROM <tablename> |
いいえ | |
PollQuantity | 値は 1 から 500 |
1 |
いいえ |
PreserveUIDSeq | true または false |
true |
いいえ |
RDBMS.initsession | 各データベース・セッションを初期化する SQL ステートメント |
いいえ | |
RDBMSVendor | DB2、その他 |
はい | |
ReplaceAllStr | true または false |
false |
いいえ |
ReplaceStrList | 1 つの文字、1 つの文字区切り文字、および文字の置換ストリングで構成されたセット。または、このようなセットを、終了区切り文字で区切り複数指定したもの。 | Q,DSQ 注: コネクター構成ツールでは、これらの文字は、1 つの単一引用符、1 つのコンマ、および 2 つの単一引用符の並びを表します。 |
いいえ |
RetryCountAndInterval | カウント, 秒単位の間隔 | 3,20 |
いいえ |
SchemaName | イベントが存在するスキーマ |
いいえ | |
SelectiveCommitForPoll | true または false | false | いいえ |
SPBeforePollCall | ポーリング呼び出しごとに実行されるストアード・プロシージャーの名前 |
いいえ | |
StrDelimiter | ReplaceStrList プロパティーに使用される文字区切り文字および終了区切り文字 |
,: |
いいえ |
TimingStats | 0、1、2 |
0 |
いいえ |
UniqueIDTableName | ID 生成に使用される表の名前 |
xworlds_uid |
いいえ |
UseDefaults | true または false |
false |
はい |
UseDefaultsForCreatingChildBOs | true または false |
false |
いいえ |
UseDefaultsForRetrieve | true または false |
false |
いいえ |
* トラステッド認証を使用する場合、ApplicationPassword と ApplicationUserName は不要です。OS/400 では、OS/400 データベースにアクセスする場合、UserName と Password をブランクにすることができます。OS/400 は、アダプター・ジョブがその下で実行されているユーザー・プロファイルを使用して、アプリケーションにアクセスします。この場合のデフォルト・ユーザー・プロファイルは、QWBISVR43 です。このデフォルト・ユーザー名は、QWBISVR43 ライブラリーの QWBIJDBCC ジョブ記述オブジェクトを変更することによって変更できます。
コネクターのユーザー・アカウントのパスワード。
デフォルト値はありません。
コネクターのユーザー・アカウントの名前。
デフォルト値はありません。
現行サブスクリプションがないイベントを、コネクターにアーカイブさせるかどうかを指定します。
イベント表からイベントが削除された後でそのイベントをアーカイブ表に挿入させるには、このプロパティーを true に設定します。
コネクターにアーカイブ処理を実行させないようにするには、このプロパティーを false に設定します。この場合、ArchiveTableName プロパティーの値は検査されません。ArchiveProcessed が false に設定されている場合、コネクターは次のように動作します。
このプロパティーが false に設定されており、さらに、ポーリング量が少ない場合には、コネクターがイベント表に対してポーリングしているように見えます。しかし、これは、単に同じイベントを繰り返し選出しているだけです。
このプロパティーの値がない場合、コネクターでは、その値が true であると見なします。さらに、ArchiveTableName プロパティーの値もない場合、コネクターでは、アーカイブ表の名前が xworlds_archive_events であると見なします。
デフォルト値は true です。
アーカイブ・キュー表の名前。
ArchiveProcessed プロパティーが false に設定されている場合は、このプロパティーの値を設定する必要はありません。
デフォルトの名前は xworlds_archive_events です。
このプロパティーは、AutoCommit 設定を構成可能にします。true に設定すると、すべてのトランザクションが自動的にコミットされます。一部のデータベースは、AutoCommit を true に設定する必要があります。false に設定すると、Sybase 上のストアード・プロシージャーが失敗します。
データベース接続が失われた場合、AutoCommit が false に設定されていれば、コネクターは新規の接続を作成して完全処理を再始動しようとします。新規の接続が無効な場合、または AutoCommit が true に設定されている場合は、コネクターは APPRESPONSETIMEOUT を戻します。この結果、コネクターは終了します。
デフォルト値は false です。
このコネクター・プロパティーを false に設定すると、コネクターは、コネクターの初期化時に、イベント表とアーカイブ表が存在するかどうかの確認を行わなくなります。使用している JDBC ドライバーが JDBC クラス DatabaseMetaData をサポートしていない場合を除き、この値を常時 true に設定することを推奨します。
このプロパティーが false に設定されている場合、コネクターはイベント表とアーカイブ表の存在を確認しません。ただし、コネクターは、初期化プロセスにおいてこれらの表を使用するので、これらの表が常に存在していることが必要です。コネクターがイベント表とアーカイブ表を初期化時に使用しないようにするには、EventTableName プロパティーを null に設定します。
デフォルト値は true です。
更新操作時に、子ビジネス・オブジェクトが表現するデータが、データベース内には存在するにもかかわらず、着信したビジネス・オブジェクトからは失われている場合、コネクターにそのデータをどのように処理させるかを指定します。
データベースから該当するデータ・レコードを物理的に削除させるには、このプロパティーを true に設定します。
データベース内の該当するデータ・レコードを、状況列で適切な値に設定することにより論理的に削除させるには、このプロパティーの値を false に設定します。アプリケーション固有の情報によって、そのビジネス・オブジェクト・レベルのアプリケーション固有の情報内に指定される StatusColumnValue (SCN) パラメーターから、状況列の名前とその値が取得されます。詳細については、ビジネス・オブジェクト・レベルのアプリケーション固有情報を参照してください。
デフォルト値は false です。
このプロパティーは、データベース接続のクローズを構成可能にします。true に設定されている場合、サービス呼び出し要求およびポーリング呼び出しごとに、データベース接続がクローズされます。このプロパティーを true に設定するとパフォーマンスが低下するため、お勧めしません。
デフォルト値は false です。
コネクターの固有 ID です。この ID は、コネクターの特定のインスタンスのためにイベントが検索されるときに役立ちます。
デフォルト値は null です。
コネクターの接続先データベース・サーバーの名前です。
WebSphere システム・インテグレーション・システム・ブランドの SQLServer ドライバーを使用する場合、次のような URL が推奨されます。
jdbc:ibm-crossworlds:sqlserver://MachineName:PortNumber;DatabaseName=DBname
重要 |
---|
AutoCommit が false に設定されている場合は、追加のパラメーター SelectMethod を以下のように設定する必要があります。jdbc:ibm- crossworlds:sqlserver://MachineName:PortNumber;DatabaseName=DBname; SelectMethod=cursor デフォルトでは、SelectMethod は direct に設定されています。詳細については、"AutoCommit"を参照してください。 |
コネクターの処理が正常に行われるようにするには、このプロパティーに値を指定する必要があります。
コネクターで受信および戻すことができる日付形式を指定します。このプロパティーは、表 8 に記載されている構文に基づくフォーマットをすべてサポートしています。
表 8 の時刻パターン・ストリングを使用して時刻形式の構文を定義します。このパターンに使用されている ASCII 文字は、すべてパターン文字として予約されています。
シンボル | 意味 | 表示 | 例 |
---|---|---|---|
G | 紀元 |
(テキスト) |
AD |
y | 年 |
(数値) |
1996 |
M | 月 |
(テキスト & 数値) |
July & 07 |
d | 日 (月初からの通算) |
(数値) |
10 |
h | 時 (12 時間制、1 から 12) |
(数値) |
12 |
H | 時 (24 時間制、0 から 23) |
(数値) |
0 |
m | 分 (時刻表示用) |
(数値) |
30 |
s | 秒 (時刻表示用) |
(数値) |
55 |
S | ミリ秒 |
(数値) |
978 |
E | 曜日 |
(テキスト) |
Tuesday |
D | 日 (年初からの通算) |
(数値) |
189 |
F | 曜日 (月初からの通算) |
(数値) |
2 (2nd Wed in July) |
w | 週 (年初からの通算) |
(数値) |
27 |
W | 週 (月初からの通算) |
(数値) |
2 |
a | 午前/午後 |
(テキスト) |
PM |
k | 時 (24 時間制、1 から 24) |
(数値) |
24 |
K | 時 (12 時間制、0 から 11) |
(数値) |
0 |
z | 時間帯 |
(テキスト) |
Pacific Standard Time |
' | テキストのエスケープ | (区切り文字) | |
'' | 単一引用符 | (リテラル) |
' |
形式パターン | 結果 |
---|---|
"yyyy.MM.dd G 'at' hh:mm:ss z" | 1996.07.10 AD at 15:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, July 10, '96 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:00 PM, PST |
"yyyy.MMMMM.dd GGG hh:mm aaa" | 1996.July.10 AD 12:08 PM |
JDBC ドライバーでは、ユーザー名とパスワードの他にも、追加のプロパティーや情報が必要になる場合があります。DriverConnectionProperties コネクター・プロパティーには、JDBC ドライバーに必要な追加のプロパティーを、名前と値のペアとして指定できます。これらのプロパティーは、次のように指定します。
property1=value1[;property2=value2...]
これらの追加プロパティーは、セミコロンで区切られた名前と値のペアとして指定されていなければなりません。プロパティーとその値は、等号で区切ります (余分なスペースを入れることはできません)。
例えば、JDBC ドライバーで、ライセンス情報とポート番号が必要になるとします。ライセンス情報として要求されるプロパティー名は MyLicense であり、値は ab23jk5 です。ポート番号として要求されるプロパティー名は PortNumber であり、値は 1200 です。DriverConnectionProperties は値 MyLicense=ab23jk5;PortNumber=1200 に設定しなければなりません。
イベント表の object_key 列に複数の属性値が含まれる場合に使用される区切り文字を指定します。
トリガーとなったアプリケーションにおいて作成、更新、または削除されたビジネス・オブジェクトを検索する方法は、2 つあります。
区切り文字を "=:" と指定した場合は、object_key は CustomerName=xxx:CustomerId=123: となります。
デフォルト値はセミコロン (;) です。これはキーの区切り文字であり、name_value のペアを扱うことはできません。
イベントの順序付けをオフにするかどうかを指定します。または、デフォルトの順序と異なるイベント処理の順序を指定します。
デフォルトでは、ポーリングのたびにコネクターは PollQuantityプロパティーに指定されたイベントの番号のみをプルし、イベント表の event_time 列および event_priority 列内の値でイベント処理を順序付けます。
コネクターによるイベントの順序付けが行われないようにするには、このプロパティーの値を none に設定します。
コネクターに、イベント表の複数の列に基づいて順序付けを行わせるには、それらの列の名前を指定します。列名はコンマ (,) で分離します。このプロパティーの値を指定すると、デフォルトの順序が上書きされます。
このプロパティーのデフォルト値はありません。
EventQueryType プロパティーは、イベント表のイベントの検索の際に、コネクターに照会を動的に生成させるか、または コネクターの組み込みの照会を使用させるかを指定するために使用します。動的に生成された照会に関しては、コネクターはそのイベント構造をイベント表の列にマップします。表列内のデータの順序は、非常に重要です。正しい順序については、"イベント表およびアーカイブ表のスキーマ"を参照してください。
EventQueryType の値が Fixed (ストリング) の場合、デフォルトの照会が実行されます。Dynamic (ストリング) に設定されている場合は、EventTableNameプロパティーに指定されている表から列名を取得して、新規の照会が作成されます。
イベント表列名は変更できます。ただし、列の順序とデータ型は、イベント表の作成のセクションで指定したものと同じでなければなりません。デフォルトの照会または動的に生成された照会には、EventOrderByが追加されます。
EventQueryType プロパティーが追加されていない場合、または含まれていない場合は、デフォルトで Fixed になります。
デフォルト値は Fixed (ストリング) です。
コネクターのポーリング機構によって使用されるイベント・キュー表の名前です。
デフォルトの名前は xworlds_events です。
コネクターのポーリングをオフにする場合は、このプロパティーを null (ストリング) に設定してください。これにより、イベント表とアーカイブ表の存在の確認が行われなくなります。
ユーザー定義イベント表の場合は、event_id が INTEGER、BIGINT、NUMERIC、VARCHAR のいずれかの JDBC 型にマップされるようにしてください。
ドライバーのクラス名を指定します。特定の JDBC ドライバーを使用する場合は、この構成プロパティーにドライバーのクラス名を指定します。例えば、Oracle シン・ドライバーを指定するには、このプロパティーを oracle.jdbc.driver.OracleDriver に設定します。
詳細については、マルチドライバー・サポートの使用可能化および UseDefaultsForCreatingChildBOsを参照してください。
デフォルト値はありません。
同時データベース接続の最大許可数を指定します。実行時には、オープン・データベース接続の最大数はこの値に 1 を加えた数になります。
PreserveUIDSeqプロパティーが false に設定されている場合は、この数に 2 を加算した合計が、実行時のオープン・データベース接続の数になります。
デフォルト値は 5 です。
コネクターがデータベース接続をチェックするときに使用する SQL ステータスまたはストアード・プロシージャーを指定します。
次に示すのは、ping 照会として使用される SQL ステータスの一例です。
SELECT 1 FROM <tablename>
次に示すのは、DB2 データベースで ping 照会として使用されるストアード・プロシージャー・コールの一例 (sampleSP) です。
call sampleSP( )
ストアード・プロシージャー・コールに出力パラメーターを指定することはできません。データベースによって入力パラメーターが必要とされる場合、入力値は、ping 照会の一部として指定する必要があります。以下に例を示します。
Call checkproc(2)
デフォルト値はありません。詳細については、データベース接続不能の処理および アプリケーションへの接続不可を参照してください。
コネクターがポーリング間隔ごとに検索するデータベース表の行数です。設定可能な値は、1 から 500 です。
デフォルト値は 1 です。
着信した固有 ID シーケンスを固有 ID 表に保存するかどうかを指定します。
true に設定されている場合、固有 ID は、ビジネス・オブジェクトが宛先アプリケーションで正常に処理されるまでコミットされません。固有 ID 表にアクセスしようとしている他のプロセスはすべて、トランザクションがコミットされるまで待機しなければなりません。
false に設定されている場合、固有 ID は、ビジネス・オブジェクトがその ID を要求した時点でコミットされます。ビジネス・オブジェクトの処理と固有 ID の処理は、それぞれ、コネクターの内部に専用のトランザクション・ブロックを持ちます。これは、固有 ID 表に関連するトランザクションに、そのトランザクション専用の接続が用意されている場合に限り可能です。
PreserveUIDSeqプロパティーが false に設定されている場合は、この数に 2 を加算した合計が、実行時のオープン・データベース接続の数になります。
デフォルト値は true です。
データベースとのセッションのそれぞれを初期化する SQL ステートメントです。コネクターは、始動時に照会を受け付けて実行します。この照会の戻り値はありません。プロパティー名は必要ですが、値は必要ではありません。
デフォルト値はありません。
特殊な処理の際に、コネクターに使用させる RDBMS を指定します。このプロパティーの値を DB2 に設定します。その他のデータベースを使用している場合は、このプロパティーの値をそのデータベース名にするか、ブランクのままにします。
デフォルト以外のデータベースを使用している場合は、適切なドライバーがロードされていることを確認します。このプロパティーが Others に設定されている場合、コネクターは、ドライバーを検索して、使用するデータベースを決定します。
コネクターで処理が正常に行われるようにするには、なんらかの値が必要です。
デフォルト値はありません。
ReplaceStrListプロパティー内に識別される各文字のすべてのインスタンスを、そのプロパティー内に指定された置換ストリングでコネクターに置換させるかどうかを指定します。コネクターは、各属性の AppSpecificInfo プロパティーの ESC=[true|false] パラメーターに値が含まれていない場合にのみ、ReplaceAllStr を評価します。つまり、ESC パラメーターが指定されている場合、その値が ReplaceAllStr プロパティーに設定されている値に対して優先されます。コネクターに ReplaceAllStr の値を使用させるには、ESC パラメーターが指定されていないことを確認します。
ReplaceAllStr のデフォルト値は false です。
1 つの置換対象文字、1 つの文字区切り文字、および 1 つの置換ストリングで構成された置換セットを、1 つ以上指定します。属性の AppSpecificInfo プロパティーの ESC=[true|false] パラメーターの値、またはコネクターの ReplaceAllStr プロパティーの値が指定されている場合にのみ、コネクターは属性値に対してこの置換を実行します。
この属性の構文は、次のとおりです。
single_char1,substitution_str1[:single_char2,substitution_str2[:...]]
ここで、以下のように説明されます。
例えば、単一のパーセント記号 (%) を 2 つのパーセント記号 (%%) で置き換える必要があり、さらに、脱字記号 (^) も、円記号と脱字記号の組み合わせ (¥^) で置き換える必要があるとします。デフォルトでは、StrDelimiter には文字区切り文字としてコンマ (,) が指定されています。また、終了区切り文字としてはコロン (:) が指定されています。デフォルトの区切り文字を変更していない場合は、次のストリングを ReplaceStrList の値として使用してください。
%,%%:^,\^
更新操作中にデータをロックできない場合に、コネクターにロックを試行させる回数と間隔 (秒単位) を指定します。
コネクターは、更新を実行する前に、その更新に関連する行をロックして現在のデータを検索しようとします。行をロックできない場合は、この構成プロパティーに指定されている間隔で、指定されている回数まで、ロックを再試行します。この構成プロパティーに指定されている値に達するまでにロックを達成できなかった場合は、結果としてタイムアウトになります。
値は「カウント、間隔」の形式で秒単位で指定します。例えば、3,20 という値を使用すると、20 秒間隔で 3 回再試行することが指定されます。
デフォルトは 3,20 です。
このプロパティーは、イベント表およびアーカイブ表の検索を、特定のスキーマ内に限定します。このプロパティーが追加されていない場合、あるいは空になっている場合には、コネクターは、ユーザーがアクセスできるスキーマのすべてを検索します。この SchemaName は、イベント表およびアーカイブ表にアクセスするための照会を作成するときにも使用されます。
デフォルト値はありません。
このプロパティーにより、複数のデータベース・コミットを構成可能にします。 true に設定すると、イベントが処理された後に 1 つのコミットだけが許可されます。false に設定すると、イベント処理の各段階でデータベースへのコミットが実行されます。
デフォルト値は false です。
このプロパティーは、ポーリング呼び出しごとに実行されるストアード・プロシージャーを指定します。SPBeforePollCall プロパティーに値 (ストアード・プロシージャー名) が指定されている場合、コネクターは、各ポーリング呼び出しの開始時にそのストアード・プロシージャーを呼び出して、コネクター・プロパティー ConnectorID および PollQuantity の値を渡します。このプロシージャーは PollQuantity 個の行を更新し、connector-id 列を ConnectorID に設定します。ここで、status=0 の場合は connector-id は null です。これにより、コネクターでのロード・バランシングが可能になります。
ReplaceStrList プロパティー内に使用する文字区切り文字、および終了区切り文字を指定します。
これらの 2 つの区切り文字には、独自の値を指定することができます。このとき、2 つの値の間に、スペースなどの文字を含めないでください。
デフォルト値は、コンマとその直後に続くコロン (,:) です。
このプロパティーを使用すると、コネクターによる動詞操作のそれぞれについて、タイミングを調べて、問題を見つけ出すことができます。設定可能な値は、次のとおりです。
タイミング・メッセージは、トレース・メッセージではなく、ログ・メッセージです。このメッセージの出力オン/オフは、トレース・レベルに関係なく行うことができます。
デフォルト値は 0 です。
固有 ID の生成に使用された値のうち、最新のものが含まれる表を指定します。デフォルトでは、この表の列は 1 つです (id)。この表をカスタマイズすることにより、UID (固有 ID) の生成を必要とする属性ごとに列を 1 つずつ追加することができます。
デフォルト値は xworlds_uid です。
UseDefaults が true に設定されている場合や、このプロパティーの設定が行われていない場合には、コネクターは、ビジネス・オブジェクトの必須属性のそれぞれに有効な値またはデフォルト値が与えられているかどうかを確認します。値が与えられている場合は、Create 操作が正常に行われます。与えられていない場合には失敗します。
UseDefaults が false に設定されている場合、コネクターは、ビジネス・オブジェクトの必須属性に有効な値が与えられているかどうかのみを確認します。有効な値が与えられていない場合、Create 操作は失敗します。
デフォルト値は false です。
UseDefaultsForCreatingChildBOs が true に設定されている場合や、このプロパティーの設定が行われていない場合には、コネクターは、ビジネス・オブジェクトの必須属性のそれぞれに有効な値またはデフォルト値が与えられているかどうかを確認します。値が与えられている場合は、Create 操作が正常に行われます。与えられていない場合には失敗します。
UseDefaultsForCreatingChildBOs が false に設定されている場合、コネクターは、ビジネス・オブジェクトの必須属性に有効な値が与えられているかどうかのみを確認します。有効な値が与えられていない場合、Create 操作は失敗します。
UseDefaultsForRetrieve が未定義で true に設定されている場合は、BO がデータベースから検索されてサーバーにディスパッチされる前に BO にデフォルト値が設定されます。
UseDefaultsForRetrieve が定義され、false に設定されている場合は、BO がデータベースから検索されてサーバーにディスパッチされる前に BO にデフォルト値が設定されません。
UseDefaultsForRetrieve が未定義で false に設定されている場合は、BO がデータベースから検索されてサーバーにディスパッチされる前に BO にデフォルト値が設定されません。
UseDefaultsForRetrieve が定義され、true に設定されている場合は、BO がデータベースから検索されてサーバーにディスパッチされる前に BO にデフォルト値が設定されます。