OracleConnection.BeginTransaction Yöntem

Tanım

Veritabanında bir işlem başlatır.

Aşırı Yüklemeler

BeginTransaction()

Veritabanında bir işlem başlatır.

BeginTransaction(IsolationLevel)

Veritabanında belirtilen IsolationLevel değerle bir işlem başlatır.

BeginTransaction()

Veritabanında bir işlem başlatır.

C#
public System.Data.OracleClient.OracleTransaction BeginTransaction();

Döndürülenler

Yeni işlemi temsil eden bir nesne.

Özel durumlar

Paralel işlemler desteklenmez.

Örnekler

Aşağıdaki örnek bir OracleConnection ve OracleTransactionoluşturur. Ayrıca , Commitve Rollback yöntemlerinin BeginTransactionnasıl kullanılacağını da gösterir.

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

Açıklamalar

İşlemi işlemek veya geri almak için veya Rollback yöntemlerini açıkça kullanmanız Commit gerekir.

Oracle işlem yönetimi modeli için .NET Framework Veri Sağlayıcısının doğru şekilde çalıştığından emin olmak için veritabanı tarafından sağlananlar gibi diğer işlem yönetimi modellerini kullanmaktan kaçının.

Not

Bir yalıtım düzeyi belirtmezseniz, varsayılan yalıtım düzeyi kullanılır. yöntemiyle BeginTransaction bir yalıtım düzeyi belirtmek için aşırı yüklemeyi kullanın BeginTransaction .

Ayrıca bkz.

Şunlara uygulanır

.NET Framework 4.8.1 ve diğer sürümler
Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

BeginTransaction(IsolationLevel)

Veritabanında belirtilen IsolationLevel değerle bir işlem başlatır.

C#
public System.Data.OracleClient.OracleTransaction BeginTransaction(System.Data.IsolationLevel il);

Parametreler

il
IsolationLevel

Bu bağlantı için işlem yalıtım düzeyi.

Döndürülenler

Yeni işlemi temsil eden bir nesne.

Özel durumlar

Paralel işlemler desteklenmez.

Örnekler

Aşağıdaki örnek bir OracleConnection ve OracleTransactionoluşturur. Ayrıca , Commitve Rollback yöntemlerinin BeginTransactionnasıl kullanılacağını da gösterir.

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

Açıklamalar

İşlemi işlemek veya geri almak için veya Rollback yöntemlerini açıkça kullanmanız Commit gerekir.

Oracle işlem yönetimi modeli için .NET Framework Veri Sağlayıcısının doğru şekilde çalıştığından emin olmak için veritabanı tarafından sağlananlar gibi diğer işlem yönetimi modellerini kullanmaktan kaçının.

Ayrıca bkz.

Şunlara uygulanır

.NET Framework 4.8.1 ve diğer sürümler
Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1