コラボレーションに外部アプリケーションを接続すると、Netbeans IDE によって適切なアダプタがリンクに自動的に割り当てられます。各アダプタには、選択可能なアダプタ接続 (トランザクションサポートレベル) のリストが用意されています。
Informix アダプタが提供するトランザクションサポートレベルは、次のとおりです。
トランザクションサポートレベルの詳細については、次の節を参照してください。
このアウトバウンドアダプタプロパティーには、外部データベースが使用するアウトバウンドパラメータが含まれています。
表 1–13 アウトバウンド Informix アダプタの接続マッププロパティー
名前 |
説明 |
必要な値 |
---|---|---|
Description |
データベースの説明を入力します。 |
有効な文字列。デフォルトは「INFORMIX Connection Pool Datasource」です。 |
ClassName |
ConnectionPoolDataSource インタフェースの実装に使用される、JDBC ドライバ内の Java クラスを指定します。 |
有効なクラス名。デフォルトは「com.SeeBeyond.informix.jdbcx.informix.InformixDataSource 」です。 |
このアウトバウンド XA アダプタプロパティーには、外部データベースが使用するアウトバウンドパラメータが含まれています。Informix は、分散トランザクションに参加可能な接続を提供するデータソースである XA をサポートします。XA は 2 段階コミットプロトコルであり、JDBC 2.0 標準拡張の一部を形成しています。
表 1–14 アウトバウンド Informix XA アダプタの接続マッププロパティー
名前 |
説明 |
必要な値 |
---|---|---|
Description |
データベースの説明を入力します。 |
有効な文字列。デフォルトは「INFORMIX XA Datasource」です。 |
ClassName |
XADataSource インタフェースの実装に使用される、JDBC ドライバ内の Java クラスを指定します。 |
有効なクラス名。デフォルトは「com.SeeBeyond.informix.jdbcx.informix.InformixDataSource 」です。 |
Informix データベースの作成時に、ロギングを有効にすることもしないこともできます。ロギングを無効にした場合は、非トランザクションモードを使用する必要があります。SQL 呼び出しの非トランザクション実行中はデータログが保持されないため、データベースサーバーの不測または予定外の停止が発生した場合にデータ回復を行うことはできません。
また、ロギングを無効にすると、BEGIN-Tran 文と END-Tran 文で囲まれたトランザクションも使用できなくなります。これは、XA (2 段階コミット) トランザクションでは非トランザクションモードを使用できないことを意味します。
次の表に示すアウトバウンド非トランザクションアダプタのプロパティーには、外部データベースが使用するアウトバウンドパラメータが含まれています。
表 1–15 アウトバウンド Informix 非トランザクションアダプタの接続マッププロパティー
名前 |
説明 |
必要な値 |
---|---|---|
Description |
データベースの説明を入力します。 |
有効な文字列。デフォルトは「INFORMIX non-Transactional Connection Pool Datasource」です。 |
ClassName |
非トランザクション ConnectionPoolDataSource インタフェースの実装に使用される、JDBC ドライバ内の Java クラスを指定します。 |
有効なクラス名。デフォルトは「com.SeeBeyond.informix.jdbcx.informix.InformixDataSource 」です。 |
Java CAPS 5.1.X で使用されるトランザクションサポートレベルの種類は、Java CAPS 6.0 で使用されるサポートレベルとは異なる可能性があります。Java CAPS 5.1.X バージョンからインポートされたプロジェクトは以前とは異なる結果を表示する可能性がありますが、そうなるかどうかは、5.1.X の Java コラボレーション定義 (JCD) が複数の処理 (挿入/更新/削除) を含んでいたかどうかによります。この影響を受けるのは、XA 以外のトランザクションだけです。XA トランザクションを使用する場合は、この節を読み飛ばしてかまいません。
5.1.X で、テーブルに新規レコードを 5 件挿入します。最後のレコードの挿入に失敗した場合 (重複するキーが存在した場合など)、それまでのレコードはすべて挿入済みになっています。これは、NoTransaction サポートの動作です。
6.0 で、テーブルに新規レコードを 5 件挿入します。いずれかのレコードの挿入に失敗した場合 (重複するキーが存在した場合など)、ほかの 4 件のレコードは挿入されません。これは、LocalTransaction の動作です。
5.1.X バージョンと同じ結果を実現するには、次のいずれかの方法を選択できます。
接続マップで、データベース外部アプリケーションへのリンクを削除したあと、そのリンクを接続し直して「NoTransaction」を選択します。
「環境」の下で、データベース外部システムの「NoTransaction」プロパティーを入力します。
プロジェクトを再構築します。
ICAN version 5.0.5 および Java CAPS 6.0 から移行する場合、変更はありません。
前述のシナリオで、LocalTransaction 用の 6.0 動作が必要な場合には、アダプタ接続を「アウトバウンド Informix 非トランザクションアダプタ (NoTransaction)」に設定してください。