OracleLogicalTransaction
クラスは、論理トランザクション・ステータスに関する詳細な情報を提供します。アプリケーションは、前回のデータベース停止中に実行中だったトランザクションの結果を最終的に鑑定し、それに基づいてトランザクションのコミット、完了、ロールバックをいずれか実行します。
クラスの継承
System.Object
System.MarshalByRefObject
Oracle.DataAccess.Client.OracleLogicalTransaction
宣言
// C# public sealed class OracleLogicalTransaction
要件
プロバイダ | ODP.NET管理対象外ドライバ |
アセンブリ | Oracle.DataAccess.dll |
ネームスペース | Oracle.DataAccess.Client |
.NET Framework | 3.5, 4.0, 4.5 |
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
OracleLogicalTransaction
メンバーは次の表にリスト表示されています。
OracleLogicalTransactionパブリック読取り専用プロパティ
OracleLoigcalTransaction
パブリック読取り専用プロパティを、表6-87にリストします。
表6-87 OracleLogicalTransactionパブリック読取り専用プロパティ
プロパティ | 説明 |
---|---|
|
トランザクションがコミットされたかどうかを指定します |
|
トランザクションがコミットされたかどうかと、戻される情報が不完全であるか一部の操作が完了していない、またはその両方の可能性があることを示します。 |
|
このオブジェクトの取得元である接続に対応するユーザーIDを指定します。 |
|
このオブジェクトの取得元である接続に対応するデータ・ソース、たとえばTNS別名を指定します。 |
OracleLogicalTransactionプライベート・プロパティ
OracleLoigcalTransaction
プライベート・プロパティを、表6-88にリストします。
表6-88 OracleLogicalTransactionプライベート・プロパティ
プロパティ | 説明 |
---|---|
|
|
OracleLogicalTransactionメソッド
OracleLoigcalTransaction
プライベート・プロパティを、表6-89にリストします。
OracleLoigcalTransaction
パブリック読取り専用プロパティを、表6-90にリストします。
表6-90 OracleLogicalTransactionパブリック読取り専用プロパティ
プロパティ | 説明 |
---|---|
|
トランザクションがコミットされたかどうかを指定します |
|
トランザクションがコミットされたかどうかと、戻される情報が不完全であるか一部の操作が完了していない、またはその両方の可能性があることを示します。 |
|
このオブジェクトの取得元である接続に対応するユーザーIDを指定します。 |
|
このオブジェクトの取得元である接続に対応するデータ・ソース、たとえばTNS別名を指定します。 |
このプロパティは、トランザクションがコミットされたかどうかを指定します。
宣言
// C# public bool? Committed {get;}
プロパティ値
bool
。
備考
GetOutcome()
を呼び出さない場合、このプロパティはnull
値を保持します。
GetOutcome()
を呼び出すと、このプロパティはtrue
またはfalse
値を保持します。
表6-91に、Committed
およびUserCallCompleted
の各プロパティで想定される結果を示します。
表6-91 コミットしたOracleLogicalTransactionの結果とUserCallCompletedプロパティ
Committedの値 | UserCallCompletedの値 | 結果 |
---|---|---|
|
|
このコールはコミットを実行していません。 |
|
|
このコールはコミットを実行しており、その他に戻される情報はなく、必要な操作もありません(このコールがPL/SQLプロシージャの場合)。 |
|
|
このトランザクションはコミットされましたが、戻される情報が不完全であるか、一部の操作が完了してない、またはその両方の可能性があります。たとえば、不完全な情報や未完了の操作には、成功時の自動コミットまたはコミットによって変更される行数、PL/SQLプロシージャをコールしたときのパラメータおよびファンクションの結果、コミット後に実行するPL/SQLプロシージャの操作などがあります。コミット後に戻されるデータを使用する場合、その.NETアプリケーションを正しく機能させるためには、 |
このプロパティは、トランザクションがコミットされたかどうかと、戻される情報が不完全であるか一部の操作が完了していない、またはその両方の可能性があることを示します。
宣言
// C# public bool? UserCallCompleted {get;}
プロパティ値
bool
備考
GetOutcome()
を呼び出さない場合、このプロパティはnull
値を保持します。
GetOutcome()
を呼び出すと、このプロパティはtrue
またはfalse
値を保持します。
表6-91に、Committed
およびUserCallCompleted
の各プロパティで想定される結果を示します。
このプロパティは、このオブジェクトの取得元である接続に対応するユーザーIDを指定します。
宣言
// C# public string UserId {get;}
プロパティ値
文字列としてのユーザーID。
OracleLoigcalTransaction
プライベート・プロパティを、表6-92にリストします。
OracleLoigcalTransaction
プライベート・プロパティを、表6-93にリストします。
表6-93 OracleLogicalTransactionメソッド
プロパティ | 説明 |
---|---|
|
このメソッドでは、オブジェクトにより割り当てられたリソースまたはメモリーを解除します |
|
このメソッドは、データベース・サーバーからトランザクション結果を取得します。このメソッドは、トランザクションがコミットおよび完了されたかどうかを判定します。 |
このメソッドでは、オブジェクトにより割り当てられたリソースまたはメモリーを解除します
宣言
// C# public void Dispose();
実装
IDisposable
備考
Dispose
メソッドでは、OracleLogicalTransaction
オブジェクトもクローズします。
GetOutcome
メソッドは、データベース・サーバーからトランザクション結果を取得します。このメソッドは、トランザクションがコミットおよび完了されたかどうかを判定します。
オーバーロード・リスト:
GetOutcome()
このメソッドは、OracleLogicalTransaction
の取得元である、複製されたOracleConnection
を使用します。
接続はpooling=false
でオープンされ、出力が強制的に実行されるとすぐに接続は切断/クローズ/解放のステータスを取得します。
繰り返して呼び出しても、サーバー・ラウンドトリップは実行されません。
GetOutcome(string
userid
, string
password
, string
dataSource
)
このメソッドは、OracleLogicalTransaction
の取得元である、複製されたOracleConnection
を使用します。
出力が強制的に実行されるとすぐに、接続は切断/クローズ/解放のステータスを取得します。
繰り返して呼び出しても、サーバー・ラウンドトリップは実行されません。
注意: GetOutcome() invpcatopm に対してサーバー・ラウンドトリップが1回実行されると、特定のOracleLogicalTransaction オブジェクトについてPL/SQLのForceOutcome は再度サーバーに対して呼び出されなくなります。 |