| Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
|
![]() 前 |
![]() 次 |
GetOutcomeメソッドは、データベース・サーバーからトランザクション結果を取得します。このメソッドは、トランザクションがコミットおよび完了されたかどうかを判定します。
オーバーロード・リスト:
GetOutcome(string constring、byte[] ltxid、out bool? bCommitted、out bool? bUserCallCompleted)
アプリケーションは、例外が発生したときに結果が不明の場合、この静的メソッドを使用できます。
アプリケーションは、このメソッドを呼び出す前に接続文字列およびlogical transaction idをOracleException.OracleLogicalTransactionオブジェクトから取得する必要があります。
指定された論理トランザクションIDの結果を判断するためにデータベースへの接続を確立するには、提供された接続文字列が使用されます。
ODP.NETは、次の条件で明示的にGetOutcomeをコールします。
トランザクション・ガードがサービス上で使用可能
OracleExceptionが発生
例外がリカバリ可能エラー
上記すべてがtrueの場合、OracleException.OracleLogicalTransactionプロパティはnull以外になります。
接続が分散トランザクションに含まれている場合、GetOutcomeは明示的にコールされず、OracleException.OracleLogicalTransaction.LogicalTransactionIdプロパティはnullを戻します。
注意:
GetOutcome() invocationに対してサーバー・ラウンドトリップが1回実行されると、指定したOracleLogicalTransactionオブジェクトについてPL/SQLのForceOutcomeは二度とサーバーに対して呼び出されなくなります。