プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# GetOutcome

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

関連項目:

- Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース

- OracleLogicalTransactionクラス

- OracleLogicalTransactionメンバー