ヘッダーをスキップ
Oracle® Data Provider for .NET開発者ガイド
12c リリース1(12.1)
B72971-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

OracleLogicalTransactionクラス

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メンバーは次の表にリスト表示されています。

OracleLogicalTransactionパブリック読取り専用プロパティ

OracleLoigcalTransactionパブリック読取り専用プロパティを、表6-87にリストします。

表6-87 OracleLogicalTransactionパブリック読取り専用プロパティ

プロパティ 説明

Committed


トランザクションがコミットされたかどうかを指定します

UserCallCompleted


トランザクションがコミットされたかどうかと、戻される情報が不完全であるか一部の操作が完了していない、またはその両方の可能性があることを示します。

UserId


このオブジェクトの取得元である接続に対応するユーザーIDを指定します。

DataSource


このオブジェクトの取得元である接続に対応するデータ・ソース、たとえばTNS別名を指定します。


OracleLogicalTransactionプライベート・プロパティ

OracleLoigcalTransactionプライベート・プロパティを、表6-88にリストします。

表6-88 OracleLogicalTransactionプライベート・プロパティ

プロパティ 説明

OracleConnection

OracleLogicalTransactionの取得元と等しい、「複製」されたOracleConnectionへの参照を保持します。


OracleLogicalTransactionメソッド

OracleLoigcalTransactionプライベート・プロパティを、表6-89にリストします。

表6-89 OracleLogicalTransactionメソッド

プロパティ 説明

Dispose


このメソッドでは、オブジェクトにより割り当てられたリソースまたはメモリーを解除します

GetOutcome


このメソッドは、データベース・サーバーからトランザクション結果を取得します。このメソッドは、トランザクションがコミットおよび完了されたかどうかを判定します。


OracleLogicalTransactionパブリック読取り専用プロパティ

OracleLoigcalTransactionパブリック読取り専用プロパティを、表6-90にリストします。

表6-90 OracleLogicalTransactionパブリック読取り専用プロパティ

プロパティ 説明

Committed


トランザクションがコミットされたかどうかを指定します

UserCallCompleted


トランザクションがコミットされたかどうかと、戻される情報が不完全であるか一部の操作が完了していない、またはその両方の可能性があることを示します。

UserId


このオブジェクトの取得元である接続に対応するユーザーIDを指定します。

DataSource


このオブジェクトの取得元である接続に対応するデータ・ソース、たとえばTNS別名を指定します。


Committed

このプロパティは、トランザクションがコミットされたかどうかを指定します。

宣言

// C#
public bool? Committed {get;}

プロパティ値

bool

備考

GetOutcome()を呼び出さない場合、このプロパティはnull値を保持します。

GetOutcome()を呼び出すと、このプロパティはtrueまたはfalse値を保持します。

表6-91に、CommittedおよびUserCallCompletedの各プロパティで想定される結果を示します。

表6-91 コミットしたOracleLogicalTransactionの結果とUserCallCompletedプロパティ

Committedの値 UserCallCompletedの値 結果

false

false

このコールはコミットを実行していません。

true

true

このコールはコミットを実行しており、その他に戻される情報はなく、必要な操作もありません(このコールがPL/SQLプロシージャの場合)。

true

false

このトランザクションはコミットされましたが、戻される情報が不完全であるか、一部の操作が完了してない、またはその両方の可能性があります。たとえば、不完全な情報や未完了の操作には、成功時の自動コミットまたはコミットによって変更される行数、PL/SQLプロシージャをコールしたときのパラメータおよびファンクションの結果、コミット後に実行するPL/SQLプロシージャの操作などがあります。コミット後に戻されるデータを使用する場合、その.NETアプリケーションを正しく機能させるためには、UserCallCompleted値を確認する必要があります。


UserCallCompleted

このプロパティは、トランザクションがコミットされたかどうかと、戻される情報が不完全であるか一部の操作が完了していない、またはその両方の可能性があることを示します。

宣言

// C#
public bool? UserCallCompleted {get;}

プロパティ値

bool

備考

GetOutcome()を呼び出さない場合、このプロパティはnull値を保持します。

GetOutcome()を呼び出すと、このプロパティはtrueまたはfalse値を保持します。

表6-91に、CommittedおよびUserCallCompletedの各プロパティで想定される結果を示します。

UserId

このプロパティは、このオブジェクトの取得元である接続に対応するユーザーIDを指定します。

宣言

// C#
public string UserId {get;}

プロパティ値

文字列としてのユーザーID。

DataSource

このプロパティは、このオブジェクトの取得元である接続に対応するデータ・ソース、たとえばTNS別名を指定します。

宣言

// C#
public string DataSource {get;}

プロパティ値

文字列としてのデータ・ソース。

OracleLogicalTransactionプライベート・プロパティ

OracleLoigcalTransactionプライベート・プロパティを、表6-92にリストします。

表6-92 OracleLogicalTransactionプライベート・プロパティ

プロパティ 説明

OracleConnection

OracleLogicalTransactionの取得元と等しい、「複製」されたOracleConnectionへの参照を保持します。


OracleLogicalTransactionメソッド

OracleLoigcalTransactionプライベート・プロパティを、表6-93にリストします。

表6-93 OracleLogicalTransactionメソッド

プロパティ 説明

Dispose


このメソッドでは、オブジェクトにより割り当てられたリソースまたはメモリーを解除します

GetOutcome


このメソッドは、データベース・サーバーからトランザクション結果を取得します。このメソッドは、トランザクションがコミットおよび完了されたかどうかを判定します。


Dispose

このメソッドでは、オブジェクトにより割り当てられたリソースまたはメモリーを解除します

宣言

// C#
public void Dispose();

実装

IDisposable

備考

Disposeメソッドでは、OracleLogicalTransactionオブジェクトもクローズします。

GetOutcome

GetOutcomeメソッドは、データベース・サーバーからトランザクション結果を取得します。このメソッドは、トランザクションがコミットおよび完了されたかどうかを判定します。

オーバーロード・リスト:

  • GetOutcome()

    このメソッドは、OracleLogicalTransactionの取得元である、複製されたOracleConnection を使用します。

    接続はpooling=falseでオープンされ、出力が強制的に実行されるとすぐに接続は切断/クローズ/解放のステータスを取得します。

    繰り返して呼び出しても、サーバー・ラウンドトリップは実行されません。

  • GetOutcome(string userid, string password, string dataSource)

    このメソッドは、OracleLogicalTransactionの取得元である、複製されたOracleConnection を使用します。

    出力が強制的に実行されるとすぐに、接続は切断/クローズ/解放のステータスを取得します。

    繰り返して呼び出しても、サーバー・ラウンドトリップは実行されません。


注意:

GetOutcome() invpcatopmに対してサーバー・ラウンドトリップが1回実行されると、特定のOracleLogicalTransactionオブジェクトについてPL/SQLのForceOutcomeは再度サーバーに対して呼び出されなくなります。