OracleConnection.BeginTransaction Yöntem

Tanım

Veritabanında bir işlem başlatır.Begins a transaction at the database.

Aşırı Yüklemeler

BeginTransaction()

Veritabanında bir işlem başlatır.Begins a transaction at the database.

BeginTransaction(IsolationLevel)

Veritabanında belirtilen değere sahip bir işlem başlatır IsolationLevel .Begins a transaction at the database with the specified IsolationLevel value.

BeginTransaction()

Veritabanında bir işlem başlatır.Begins a transaction at the database.

public:
 System::Data::OracleClient::OracleTransaction ^ BeginTransaction();
public System.Data.OracleClient.OracleTransaction BeginTransaction ();
member this.BeginTransaction : unit -> System.Data.OracleClient.OracleTransaction
override this.BeginTransaction : unit -> System.Data.OracleClient.OracleTransaction
Public Function BeginTransaction () As OracleTransaction

Döndürülenler

OracleTransaction

Yeni işlemi temsil eden nesne.An object representing the new transaction.

Özel durumlar

Paralel işlemler desteklenmez.Parallel transactions are not supported.

Örnekler

Aşağıdaki örnek bir ve oluşturur OracleConnection OracleTransaction .The following example creates an OracleConnection and an OracleTransaction. Ayrıca,, ve yöntemlerinin nasıl kullanılacağını BeginTransaction gösterir Commit Rollback .It also demonstrates how to use the BeginTransaction, Commit, and Rollback methods.

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.");
        }
    }
}
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

Açıklamalar

İşlemi yürütmek veya geri almak için, veya yöntemlerini açıkça kullanmanız gerekir Commit Rollback .To commit or roll back the transaction, you must explicitly use the Commit or Rollback methods.

Oracle işlem yönetim modeli için .NET Framework Veri Sağlayıcısı doğru bir şekilde gerçekleştirdiğinden emin olmak için, veritabanı tarafından sağlananlar gibi diğer işlem yönetim modellerini kullanmaktan kaçının.To ensure that the .NET Framework Data Provider for Oracle transaction management model performs correctly, avoid using other transaction management models, such as those provided by the database.

Not

Yalıtım düzeyi belirtmezseniz, varsayılan yalıtım düzeyi kullanılır.If you do not specify an isolation level, the default isolation level is used. Yöntemiyle bir yalıtım düzeyi belirtmek için BeginTransaction BeginTransaction aşırı yüklemeyi kullanın.To specify an isolation level with the BeginTransaction method, use the BeginTransaction overload.

Ayrıca bkz.

Şunlara uygulanır

Ürün Introduced

BeginTransaction(IsolationLevel)

Veritabanında belirtilen değere sahip bir işlem başlatır IsolationLevel .Begins a transaction at the database with the specified IsolationLevel value.

public:
 System::Data::OracleClient::OracleTransaction ^ BeginTransaction(System::Data::IsolationLevel il);
public System.Data.OracleClient.OracleTransaction BeginTransaction (System.Data.IsolationLevel il);
member this.BeginTransaction : System.Data.IsolationLevel -> System.Data.OracleClient.OracleTransaction
override this.BeginTransaction : System.Data.IsolationLevel -> System.Data.OracleClient.OracleTransaction
Public Function BeginTransaction (il As IsolationLevel) As OracleTransaction

Parametreler

il
IsolationLevel

Bu bağlantı için işlem yalıtım düzeyi.The transaction isolation level for this connection.

Döndürülenler

OracleTransaction

Yeni işlemi temsil eden nesne.An object representing the new transaction.

Özel durumlar

Paralel işlemler desteklenmez.Parallel transactions are not supported.

Örnekler

Aşağıdaki örnek bir ve oluşturur OracleConnection OracleTransaction .The following example creates an OracleConnection and an OracleTransaction. Ayrıca,, ve yöntemlerinin nasıl kullanılacağını BeginTransaction gösterir Commit Rollback .It also demonstrates how to use the BeginTransaction, Commit, and Rollback methods.

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.");
        }
    }
}
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

Açıklamalar

İşlemi yürütmek veya geri almak için, veya yöntemlerini açıkça kullanmanız gerekir Commit Rollback .To commit or roll back the transaction, you must explicitly use the Commit or Rollback methods.

Oracle işlem yönetim modeli için .NET Framework Veri Sağlayıcısı doğru bir şekilde gerçekleştirdiğinden emin olmak için, veritabanı tarafından sağlananlar gibi diğer işlem yönetim modellerini kullanmaktan kaçının.To ensure that the .NET Framework Data Provider for Oracle transaction management model performs correctly, avoid using other transaction management models, such as those provided by the database.

Ayrıca bkz.

Şunlara uygulanır

Ürün Introduced