JDBC メディエーター例外

JDBC メディエーター例外は、データベースにより報告されるエラーを表示するか、あるいは DMS をインスタンス化しようとして無効なメタデータが使用されたことを示します。

例外

メディエーター例外はすべてのデータ・メディエーター・サービスのルート例外で、JDBCMediator 例外は特に JDBC DMS のためのルート例外です。

DB 例外は、エラーがデータベースによって報告されたときに発生します。 これはいくつかの状態で発生する可能性があります。
  • 使用されている接続が true に設定された AutoCommit プロパ ティーを持っているのに、JDBC DMS がトランザクションを制御していて false に設定されている必要がある場合
  • サポートされていないデータベースを使用しようとしている場合
  • コミットまたはロールバック中にもう一方のバックエンドのデータベ ース・エラーが発生した場合

Optimistic Concurrency Control (OCC) 例外は、applyChanges() 操作がデータの衝突という結果になったときに発生します。 これが発生したときは、例外には行の元の値、行の現在値、および行の試行された値が含まれます。 これらの値は、エラーからのリカバリーを助けるために使用されます。

InvalidMetadata 例外は、作成時に JDBC DMS に提供された無効なメタデータに対して発生します。 これは、メタデータ内で定義されていないテーブルまたは列を照会が要求 したとき、または Oracle、Informix®、および古い対応バージョンの Sybase データベースで異なるテーブルに同一の列名が あるときに起こります。

例: OCC データ衝突および JDBC メディエーター例外の強制: 以下の例は、衝突を強制して検出を実証し、結果として発生する例外を表示します。

// This example assumes that a mediator has already 
// been created and the first name in the list is Sam.  
// It also assumes that the Customer table has an OCC 
// column and the metadata has set this column to be 
// the collision column.

DataObject graph1 = mediator.getGraph();
DataObject graph2 = mediator.getGraph();
  
DataObject customer1 = (DataObject)graph1.getList("CUSTOMER").get(0);
customer1.set("CUSTFIRSTNAME", "Bubba");
  
DataObject customer2 = (DataObject)graph2.getList("CUSTOMER").get(0);
customer2.set("BOWLERFIRSTNAME", "Slim");
 
mediator.applyChanges(graph2);
  
try   
{
 mediator.applyChanges(graph1);
} 
catch (OCCException e)
{
// Since graph1 was obtained before graph2 and 
// graph2 has already been submitted, trying to 
// apply the same changes to graph1 causes 
// this OCC Exception.

assertEquals("Sam", e.getOriginalDO(). getString("CUSTFIRSTNAME"));
assertEquals("Bubba", e.getChangedDO(). getString("CUSTFIRSTNAME"));
assertEquals("Slim", e.getDatabaseDO(). getString("CUSTFIRSTNAME"));
}

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_jdbcmedex
ファイル名:rdat_jdbcmedex.html