.NET Framework クラス ライブラリ
OracleTransaction クラス

更新 : 2007 年 11 月

データベースで実行するトランザクションを表します。

名前空間 :  System.Data.OracleClient
アセンブリ :  System.Data.OracleClient (System.Data.OracleClient.dll 内)

構文

Visual Basic (宣言)
Public NotInheritable Class OracleTransaction _
    Inherits DbTransaction
Visual Basic (使用法)
Dim instance As OracleTransaction
C#
public sealed class OracleTransaction : DbTransaction
Visual C++
public ref class OracleTransaction sealed : public DbTransaction
J#
public final class OracleTransaction extends DbTransaction
JScript
public final class OracleTransaction extends DbTransaction
解説

アプリケーションは、OracleConnection オブジェクトで BeginTransaction を呼び出すことによって、OracleTransaction オブジェクトを作成します。トランザクションに関連付けられた後続の処理 (トランザクションのコミット、中止など) はすべて、OracleTransaction オブジェクトに対して実行します。


OracleConnectionOracleTransaction を作成する例を次に示します。BeginTransactionCommitRollback の各メソッドの使い方も示します。

Visual Basic
Public Sub RunOracleTransaction(ByVal connectionString As String)
    Using connection As New OracleConnection(connectionString)
        connection.Open()

        Dim command As OracleCommand = connection.CreateCommand()
        Dim transaction As OracleTransaction

        ' Start a local transaction
        transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)
        ' Assign transaction object for a pending local transaction
        command.Transaction = transaction

        Try
            command.CommandText = _
                "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"
            command.ExecuteNonQuery()
            command.CommandText = _
                "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')"
            command.ExecuteNonQuery()
            transaction.Commit()
            Console.WriteLine("Both records are written to database.")
        Catch e As Exception
            transaction.Rollback()
            Console.WriteLine(e.ToString())
            Console.WriteLine("Neither record was written to database.")
        End Try
    End Using
End Sub
C#
public void RunOracleTransaction(string connectionString)
{
    using (OracleConnection connection = new OracleConnection(connectionString))
    {
        connection.Open();

        OracleCommand command = connection.CreateCommand();
        OracleTransaction transaction;

        // Start a local transaction
        transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
        // Assign transaction object for a pending local transaction
        command.Transaction = transaction;

        try
        {
            command.CommandText = 
                "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
            command.ExecuteNonQuery();
            command.CommandText = 
                "INSERT INTO Dept (DeptNo, Dname, Loc) values (60, 'ENGINEERING', 'KANSAS CITY')";
            command.ExecuteNonQuery();
            transaction.Commit();
            Console.WriteLine("Both records are written to database.");
        }
        catch (Exception e)
        {
            transaction.Rollback();
            Console.WriteLine(e.ToString());
            Console.WriteLine("Neither record was written to database.");
        }
    }
}
継承階層

System..::.Object
  System..::.MarshalByRefObject
    System.Data.Common..::.DbTransaction
      System.Data.OracleClient..::.OracleTransaction
スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.5、3.0、2.0、1.1
参照

参照

タグ :


Page view tracker