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
は二度とサーバーに対して呼び出されなくなります。