Aracılığıyla paylaş


SqlBulkCopy Oluşturucular

Tanım

SqlBulkCopy sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

SqlBulkCopy(SqlConnection)

belirtilen açık örneğini kullanarak sınıfının yeni bir örneğini SqlBulkCopySqlConnectionbaşlatır.

SqlBulkCopy(String)

Sağlanan connectionStringöğesini temel alan yeni bir örneğini SqlConnection başlatır ve açar. Oluşturucu, sınıfının yeni bir örneğini SqlBulkCopy başlatmak için öğesini kullanırSqlConnection.

SqlBulkCopy(String, SqlBulkCopyOptions)

Sağlanan connectionStringöğesini temel alan yeni bir örneğini SqlConnection başlatır ve açar. Oluşturucu, sınıfın yeni bir örneğini SqlBulkCopy başlatmak için bunu SqlConnection kullanır. Örnek SqlConnection , parametresinde sağlanan seçeneklere copyOptions göre davranır.

SqlBulkCopy(SqlConnection, SqlBulkCopyOptions, SqlTransaction)

sağlanan mevcut açık örneğini kullanarak sınıfının yeni bir örneğini SqlBulkCopySqlConnectionbaşlatır. Örnek SqlBulkCopy , parametresinde sağlanan seçeneklere copyOptions göre davranır. Null SqlTransaction olmayan bir değer sağlanırsa kopyalama işlemleri bu işlem içinde gerçekleştirilir.

SqlBulkCopy(SqlConnection)

belirtilen açık örneğini kullanarak sınıfının yeni bir örneğini SqlBulkCopySqlConnectionbaşlatır.

public:
 SqlBulkCopy(System::Data::SqlClient::SqlConnection ^ connection);
public SqlBulkCopy (System.Data.SqlClient.SqlConnection connection);
new System.Data.SqlClient.SqlBulkCopy : System.Data.SqlClient.SqlConnection -> System.Data.SqlClient.SqlBulkCopy
Public Sub New (connection As SqlConnection)

Parametreler

connection
SqlConnection

Toplu kopyalama işlemini gerçekleştirmek için kullanılacak zaten açık SqlConnection olan örnek. bağlantı dizesi kullanılmıyorsaIntegrated Security = true, kullanıcı kimliğini ve parolayı bağlantı dizesi metin olarak belirterek kullanıcı kimliğini ve parolayı daha güvenli bir şekilde geçirmek için kullanabilirsinizSqlCredential.

Örnekler

Aşağıdaki konsol uygulamasında, zaten açık olan bir bağlantı kullanarak verilerin nasıl toplu olarak yükleneceği gösterilmiştir. Bu örnekte, SqlDataReaderSQL Server AdventureWorks veritabanındaki Production.Product tablosundaki verileri aynı veritabanındaki benzer bir tabloya kopyalamak için kullanılır. Bu örnek yalnızca tanıtım amaçlıdır. Üretim uygulamasındaki aynı veritabanındaki verileri bir tablodan diğerine taşımak için kullanamazsınız SqlBulkCopy . Kaynak verilerin SQL Server'de bulunması gerekmediğini unutmayın; öğesine okunabilen veya bir öğesine yüklenebilen herhangi bir IDataReaderDataTableveri kaynağını kullanabilirsiniz.

Önemli

Bu örnek, Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi iş tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy kullanımına yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, transact-SQL INSERT ... SELECT deyimini kullanarak verileri kopyalamak daha kolay ve daha hızlıdır.

using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        string connectionString = GetConnectionString();
        // Open a sourceConnection to the AdventureWorks database.
        using (SqlConnection sourceConnection =
                   new SqlConnection(connectionString))
        {
            sourceConnection.Open();

            // Perform an initial count on the destination table.
            SqlCommand commandRowCount = new SqlCommand(
                "SELECT COUNT(*) FROM " +
                "dbo.BulkCopyDemoMatchingColumns;",
                sourceConnection);
            long countStart = System.Convert.ToInt32(
                commandRowCount.ExecuteScalar());
            Console.WriteLine("Starting row count = {0}", countStart);

            // Get data from the source table as a SqlDataReader.
            SqlCommand commandSourceData = new SqlCommand(
                "SELECT ProductID, Name, " +
                "ProductNumber " +
                "FROM Production.Product;", sourceConnection);
            SqlDataReader reader =
                commandSourceData.ExecuteReader();

            // Open the destination connection. In the real world you would
            // not use SqlBulkCopy to move data from one table to the other
            // in the same database. This is for demonstration purposes only.
            using (SqlConnection destinationConnection =
                       new SqlConnection(connectionString))
            {
                destinationConnection.Open();

                // Set up the bulk copy object.
                // Note that the column positions in the source
                // data reader match the column positions in
                // the destination table so there is no need to
                // map columns.
                using (SqlBulkCopy bulkCopy =
                           new SqlBulkCopy(destinationConnection))
                {
                    bulkCopy.DestinationTableName =
                        "dbo.BulkCopyDemoMatchingColumns";

                    try
                    {
                        // Write from the source to the destination.
                        bulkCopy.WriteToServer(reader);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    finally
                    {
                        // Close the SqlDataReader. The SqlBulkCopy
                        // object is automatically closed at the end
                        // of the using block.
                        reader.Close();
                    }
                }

                // Perform a final count on the destination
                // table to see how many rows were added.
                long countEnd = System.Convert.ToInt32(
                    commandRowCount.ExecuteScalar());
                Console.WriteLine("Ending row count = {0}", countEnd);
                Console.WriteLine("{0} rows were added.", countEnd - countStart);
                Console.WriteLine("Press Enter to finish.");
                Console.ReadLine();
            }
        }
    }

    private static string GetConnectionString()
        // To avoid storing the sourceConnection string in your code,
        // you can retrieve it from a configuration file.
    {
        return "Data Source=(local); " +
            " Integrated Security=true;" +
            "Initial Catalog=AdventureWorks;";
    }
}
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        Dim connectionString As String = GetConnectionString()

        ' Open a connection to the AdventureWorks database.
        Using sourceConnection As SqlConnection = _
           New SqlConnection(connectionString)
            sourceConnection.Open()

            ' Perform an initial count on the destination table.
            Dim commandRowCount As New SqlCommand( _
            "SELECT COUNT(*) FROM dbo.BulkCopyDemoMatchingColumns;", _
                sourceConnection)
            Dim countStart As Long = _
               System.Convert.ToInt32(commandRowCount.ExecuteScalar())
            Console.WriteLine("Starting row count = {0}", countStart)

            ' Get data from the source table as a SqlDataReader.
            Dim commandSourceData As New SqlCommand( _
               "SELECT ProductID, Name, ProductNumber " & _
               "FROM Production.Product;", sourceConnection)
            Dim reader As SqlDataReader = commandSourceData.ExecuteReader

            ' Open the destination connection. In the real world you would 
            ' not use SqlBulkCopy to move data from one table to the other   
            ' in the same database. This is for demonstration purposes only.
            Using destinationConnection As SqlConnection = _
                New SqlConnection(connectionString)
                destinationConnection.Open()

                ' Set up the bulk copy object. 
                ' The column positions in the source data reader 
                ' match the column positions in the destination table, 
                ' so there is no need to map columns.
                Using bulkCopy As SqlBulkCopy = _
                  New SqlBulkCopy(destinationConnection)
                    bulkCopy.DestinationTableName = _
                    "dbo.BulkCopyDemoMatchingColumns"

                    Try
                        ' Write from the source to the destination.
                        bulkCopy.WriteToServer(reader)

                    Catch ex As Exception
                        Console.WriteLine(ex.Message)

                    Finally
                        ' Close the SqlDataReader. The SqlBulkCopy
                        ' object is automatically closed at the end
                        ' of the Using block.
                        reader.Close()
                    End Try
                End Using

                ' Perform a final count on the destination table
                ' to see how many rows were added.
                Dim countEnd As Long = _
                    System.Convert.ToInt32(commandRowCount.ExecuteScalar())
                Console.WriteLine("Ending row count = {0}", countEnd)
                Console.WriteLine("{0} rows were added.", countEnd - countStart)

                Console.WriteLine("Press Enter to finish.")
                Console.ReadLine()
            End Using
        End Using
    End Sub

    Private Function GetConnectionString() As String
        ' To avoid storing the sourceConnection string in your code, 
        ' you can retrieve it from a configuration file. 
        Return "Data Source=(local);" & _
            "Integrated Security=true;" & _
            "Initial Catalog=AdventureWorks;"
    End Function
End Module

Açıklamalar

Örnek başlatıldığında bağlantı zaten açık SqlBulkCopy olduğundan, örnek kapatıldıktan sonra SqlBulkCopy bağlantı açık kalır.

connection Bağımsız değişken null ise, bir ArgumentNullException oluşturulur.

Ayrıca bkz.

Şunlara uygulanır

SqlBulkCopy(String)

Sağlanan connectionStringöğesini temel alan yeni bir örneğini SqlConnection başlatır ve açar. Oluşturucu, sınıfının yeni bir örneğini SqlBulkCopy başlatmak için öğesini kullanırSqlConnection.

public:
 SqlBulkCopy(System::String ^ connectionString);
public SqlBulkCopy (string connectionString);
new System.Data.SqlClient.SqlBulkCopy : string -> System.Data.SqlClient.SqlBulkCopy
Public Sub New (connectionString As String)

Parametreler

connectionString
String

Örnek tarafından SqlBulkCopy kullanılmak üzere açılacak bağlantıyı tanımlayan dize. bağlantı dizesi kullanılmıyorsaIntegrated Security = true, kullanıcı kimliğini ve SqlCredential parolayı bağlantı dizesi metin olarak belirterek kullanıcı kimliği ve parolayı daha güvenli bir şekilde geçirmek için veya SqlBulkCopy(SqlConnection, SqlBulkCopyOptions, SqlTransaction) ve kullanabilirsinizSqlBulkCopy(SqlConnection).

Örnekler

Aşağıdaki konsol uygulaması, dize olarak belirtilen bir bağlantıyı kullanarak verileri toplu yükleme işlemini gösterir. Örnek kapatıldığında SqlBulkCopy bağlantı otomatik olarak kapatılır.

Bu örnekte, kaynak veriler önce bir SQL Server tablosundan örneğe SqlDataReader okunur. Kaynak verilerin SQL Server üzerinde bulunması gerekmez; bir öğesine okunabilen veya bir öğesine yüklenebilen herhangi bir IDataReaderDataTableveri kaynağını kullanabilirsiniz.

Önemli

Bu örnek, Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi iş tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy kullanımına yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, transact-SQL INSERT ... SELECT deyimini kullanarak verileri kopyalamak daha kolay ve daha hızlıdır.

using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        string connectionString = GetConnectionString();
        // Open a sourceConnection to the AdventureWorks database.
        using (SqlConnection sourceConnection =
                   new SqlConnection(connectionString))
        {
            sourceConnection.Open();

            // Perform an initial count on the destination table.
            SqlCommand commandRowCount = new SqlCommand(
                "SELECT COUNT(*) FROM " +
                "dbo.BulkCopyDemoMatchingColumns;",
                sourceConnection);
            long countStart = System.Convert.ToInt32(
                commandRowCount.ExecuteScalar());
            Console.WriteLine("Starting row count = {0}", countStart);

            // Get data from the source table as a SqlDataReader.
            SqlCommand commandSourceData = new SqlCommand(
                "SELECT ProductID, Name, " +
                "ProductNumber " +
                "FROM Production.Product;", sourceConnection);
            SqlDataReader reader =
                commandSourceData.ExecuteReader();

            // Set up the bulk copy object using a connection string.
            // In the real world you would not use SqlBulkCopy to move
            // data from one table to the other in the same database.
            using (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoMatchingColumns";

                try
                {
                    // Write from the source to the destination.
                    bulkCopy.WriteToServer(reader);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    // Close the SqlDataReader. The SqlBulkCopy
                    // object is automatically closed at the end
                    // of the using block.
                    reader.Close();
                }
            }

            // Perform a final count on the destination
            // table to see how many rows were added.
            long countEnd = System.Convert.ToInt32(
                commandRowCount.ExecuteScalar());
            Console.WriteLine("Ending row count = {0}", countEnd);
            Console.WriteLine("{0} rows were added.", countEnd - countStart);
            Console.WriteLine("Press Enter to finish.");
            Console.ReadLine();
        }
    }

    private static string GetConnectionString()
        // To avoid storing the sourceConnection string in your code,
        // you can retrieve it from a configuration file.
    {
        return "Data Source=(local); " +
            " Integrated Security=true;" +
            "Initial Catalog=AdventureWorks;";
    }
}
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        Dim connectionString As String = GetConnectionString()

        ' Open a connection to the AdventureWorks database.
        Using sourceConnection As SqlConnection = _
           New SqlConnection(connectionString)
            sourceConnection.Open()

            ' Perform an initial count on the destination table.
            Dim commandRowCount As New SqlCommand( _
            "SELECT COUNT(*) FROM dbo.BulkCopyDemoMatchingColumns;", _
                sourceConnection)
            Dim countStart As Long = _
               System.Convert.ToInt32(commandRowCount.ExecuteScalar())
            Console.WriteLine("Starting row count = {0}", countStart)

            ' Get data from the source table as a SqlDataReader.
            Dim commandSourceData As SqlCommand = New SqlCommand( _
               "SELECT ProductID, Name, ProductNumber " & _
               "FROM Production.Product;", sourceConnection)
            Dim reader As SqlDataReader = commandSourceData.ExecuteReader

            ' Set up the bulk copy object using a connection string. 
            ' In the real world you would not use SqlBulkCopy to move
            ' data from one table to the other in the same database.
            Using bulkCopy As SqlBulkCopy = New SqlBulkCopy(connectionString)
                bulkCopy.DestinationTableName = _
                "dbo.BulkCopyDemoMatchingColumns"

                Try
                    ' Write from the source to the destination.
                    bulkCopy.WriteToServer(reader)

                Catch ex As Exception
                    Console.WriteLine(ex.Message)

                Finally
                    ' Close the SqlDataReader. The SqlBulkCopy
                    ' object is automatically closed at the end
                    ' of the Using block.
                    reader.Close()
                End Try
            End Using

            ' Perform a final count on the destination table
            ' to see how many rows were added.
            Dim countEnd As Long = _
                System.Convert.ToInt32(commandRowCount.ExecuteScalar())
            Console.WriteLine("Ending row count = {0}", countEnd)
            Console.WriteLine("{0} rows were added.", countEnd - countStart)

            Console.WriteLine("Press Enter to finish.")
            Console.ReadLine()
        End Using
    End Sub

    Private Function GetConnectionString() As String
        ' To avoid storing the sourceConnection string in your code, 
        ' you can retrieve it from a configuration file. 
        Return "Data Source=(local);" & _
            "Integrated Security=true;" & _
            "Initial Catalog=AdventureWorks;"
    End Function
End Module

Açıklamalar

Bağlantı, toplu kopyalama işleminin sonunda otomatik olarak kapatılır.

connectionString null ise, bir ArgumentNullException oluşturulur. Boş bir dize ise connectionString , bir ArgumentException oluşturulur.

Ayrıca bkz.

Şunlara uygulanır

SqlBulkCopy(String, SqlBulkCopyOptions)

Sağlanan connectionStringöğesini temel alan yeni bir örneğini SqlConnection başlatır ve açar. Oluşturucu, sınıfın yeni bir örneğini SqlBulkCopy başlatmak için bunu SqlConnection kullanır. Örnek SqlConnection , parametresinde sağlanan seçeneklere copyOptions göre davranır.

public:
 SqlBulkCopy(System::String ^ connectionString, System::Data::SqlClient::SqlBulkCopyOptions copyOptions);
public SqlBulkCopy (string connectionString, System.Data.SqlClient.SqlBulkCopyOptions copyOptions);
new System.Data.SqlClient.SqlBulkCopy : string * System.Data.SqlClient.SqlBulkCopyOptions -> System.Data.SqlClient.SqlBulkCopy
Public Sub New (connectionString As String, copyOptions As SqlBulkCopyOptions)

Parametreler

connectionString
String

Örnek tarafından SqlBulkCopy kullanılmak üzere açılacak bağlantıyı tanımlayan dize. bağlantı dizesi kullanılmıyorsaIntegrated Security = true, kullanıcı kimliğini ve SqlCredential parolayı bağlantı dizesi metin olarak belirterek kullanıcı kimliği ve parolayı daha güvenli bir şekilde geçirmek için veya SqlBulkCopy(SqlConnection, SqlBulkCopyOptions, SqlTransaction) ve kullanabilirsinizSqlBulkCopy(SqlConnection).

copyOptions
SqlBulkCopyOptions

Hedef tabloya SqlBulkCopyOptions kopyalanan veri kaynağı satırlarını belirleyen numaralandırmadaki değerlerin birleşimi.

Örnekler

Aşağıdaki konsol uygulaması, dize olarak belirtilen bir bağlantıyı kullanarak toplu yükleme gerçekleştirmeyi gösterir. Hedef tabloyu yüklerken kaynak tablonun kimlik sütunundaki değeri kullanacak şekilde bir seçenek ayarlanır. Bu örnekte, kaynak veriler önce bir SQL Server tablosundan örneğe SqlDataReader okunur. Kaynak tablo ve hedef tablonun her birinde bir Identity sütunu bulunur. Varsayılan olarak, eklenen her satır için hedef tabloda Identity sütunu için yeni bir değer oluşturulur. Bu örnekte, bağlantı açıldığında toplu yükleme işlemini kaynak tablodan Kimlik değerlerini kullanmaya zorlayan bir seçenek ayarlanır. Seçeneğin toplu yüklemenin çalışma şeklini nasıl değiştirdiğini görmek için örneği dbo ile çalıştırın. BulkCopyDemoMatchingColumns tablosu boş. Tüm satırlar kaynaktan yüklenir. Ardından tabloyu boşaltmadan örneği yeniden çalıştırın. Özel durum oluşturulur ve kod konsola birincil anahtar kısıtlama ihlalleri nedeniyle satırların eklenmediğini bildiren bir ileti yazar.

Önemli

Bu örnek, Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi iş tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy kullanımına yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, transact-SQL INSERT ... SELECT deyimini kullanarak verileri kopyalamak daha kolay ve daha hızlıdır.

using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        string connectionString = GetConnectionString();
        // Open a sourceConnection to the AdventureWorks database.
        using (SqlConnection sourceConnection =
                   new SqlConnection(connectionString))
        {
            sourceConnection.Open();

            // Perform an initial count on the destination table.
            SqlCommand commandRowCount = new SqlCommand(
                "SELECT COUNT(*) FROM " +
                "dbo.BulkCopyDemoMatchingColumns;",
                sourceConnection);
            long countStart = System.Convert.ToInt32(
                commandRowCount.ExecuteScalar());
            Console.WriteLine("Starting row count = {0}", countStart);

            // Get data from the source table as a SqlDataReader.
            SqlCommand commandSourceData = new SqlCommand(
                "SELECT ProductID, Name, " +
                "ProductNumber " +
                "FROM Production.Product;", sourceConnection);
            SqlDataReader reader =
                commandSourceData.ExecuteReader();

            // Create the SqlBulkCopy object using a connection string
            // and the KeepIdentity option.
            // In the real world you would not use SqlBulkCopy to move
            // data from one table to the other in the same database.
            using (SqlBulkCopy bulkCopy =
                new SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoMatchingColumns";

                try
                {
                    // Write from the source to the destination.
                    bulkCopy.WriteToServer(reader);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    // Close the SqlDataReader. The SqlBulkCopy
                    // object is automatically closed at the end
                    // of the using block.
                    reader.Close();
                }
            }

            // Perform a final count on the destination
            // table to see how many rows were added.
            long countEnd = System.Convert.ToInt32(
                commandRowCount.ExecuteScalar());
            Console.WriteLine("Ending row count = {0}", countEnd);
            Console.WriteLine("{0} rows were added.", countEnd - countStart);
            Console.WriteLine("Press Enter to finish.");
            Console.ReadLine();
        }
    }

    private static string GetConnectionString()
        // To avoid storing the sourceConnection string in your code,
        // you can retrieve it from a configuration file.
    {
        return "Data Source=(local); " +
            " Integrated Security=true;" +
            "Initial Catalog=AdventureWorks;";
    }
}
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        Dim connectionString As String = GetConnectionString()

        ' Open a connection to the AdventureWorks database.
        Using sourceConnection As SqlConnection = _
           New SqlConnection(connectionString)
            sourceConnection.Open()

            ' Perform an initial count on the destination table.
            Dim commandRowCount As New SqlCommand( _
            "SELECT COUNT(*) FROM dbo.BulkCopyDemoMatchingColumns;", _
                sourceConnection)
            Dim countStart As Long = _
               System.Convert.ToInt32(commandRowCount.ExecuteScalar())
            Console.WriteLine("Starting row count = {0}", countStart)

            ' Get data from the source table as a SqlDataReader.
            Dim commandSourceData As SqlCommand = New SqlCommand( _
               "SELECT ProductID, Name, ProductNumber " & _
               "FROM Production.Product;", sourceConnection)
            Dim reader As SqlDataReader = commandSourceData.ExecuteReader

            ' Create the SqlBulkCopy object using a connection string 
            ' and the KeepIdentity option. 
            ' In the real world you would not use SqlBulkCopy to move
            ' data from one table to the other in the same database.
            Using bulkCopy As SqlBulkCopy = _
              New SqlBulkCopy(connectionString, SqlBulkCopyOptions.KeepIdentity)
                bulkCopy.DestinationTableName = "dbo.BulkCopyDemoMatchingColumns"

                Try
                    ' Write from the source to the destination.
                    bulkCopy.WriteToServer(reader)

                Catch ex As Exception
                    Console.WriteLine(ex.Message)

                    Finally
                        ' Close the SqlDataReader. The SqlBulkCopy
                        ' object is automatically closed at the end
                        ' of the Using block.
                        reader.Close()
                End Try
            End Using

            ' Perform a final count on the destination table
            ' to see how many rows were added.
            Dim countEnd As Long = _
                System.Convert.ToInt32(commandRowCount.ExecuteScalar())
            Console.WriteLine("Ending row count = {0}", countEnd)
            Console.WriteLine("{0} rows were added.", countEnd - countStart)

            Console.WriteLine("Press Enter to finish.")
            Console.ReadLine()
        End Using
    End Sub

    Private Function GetConnectionString() As String
        ' To avoid storing the sourceConnection string in your code, 
        ' you can retrieve it from a configuration file. 
        Return "Data Source=(local);" & _
            "Integrated Security=true;" & _
            "Initial Catalog=AdventureWorks;"
    End Function
End Module

Açıklamalar

Konu başlığındaki tüm toplu kopyalama seçenekleri SqlBulkCopyOptions hakkında ayrıntılı bilgi edinebilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

SqlBulkCopy(SqlConnection, SqlBulkCopyOptions, SqlTransaction)

sağlanan mevcut açık örneğini kullanarak sınıfının yeni bir örneğini SqlBulkCopySqlConnectionbaşlatır. Örnek SqlBulkCopy , parametresinde sağlanan seçeneklere copyOptions göre davranır. Null SqlTransaction olmayan bir değer sağlanırsa kopyalama işlemleri bu işlem içinde gerçekleştirilir.

public:
 SqlBulkCopy(System::Data::SqlClient::SqlConnection ^ connection, System::Data::SqlClient::SqlBulkCopyOptions copyOptions, System::Data::SqlClient::SqlTransaction ^ externalTransaction);
public SqlBulkCopy (System.Data.SqlClient.SqlConnection connection, System.Data.SqlClient.SqlBulkCopyOptions copyOptions, System.Data.SqlClient.SqlTransaction externalTransaction);
new System.Data.SqlClient.SqlBulkCopy : System.Data.SqlClient.SqlConnection * System.Data.SqlClient.SqlBulkCopyOptions * System.Data.SqlClient.SqlTransaction -> System.Data.SqlClient.SqlBulkCopy
Public Sub New (connection As SqlConnection, copyOptions As SqlBulkCopyOptions, externalTransaction As SqlTransaction)

Parametreler

connection
SqlConnection

Toplu kopyalamayı gerçekleştirmek için kullanılacak zaten açık SqlConnection olan örnek. bağlantı dizesi kullanılmıyorsaIntegrated Security = true, kullanıcı kimliğini ve parolayı bağlantı dizesi metin olarak belirterek kullanıcı kimliğini ve parolayı daha güvenli bir şekilde geçirmek için kullanabilirsinizSqlCredential.

copyOptions
SqlBulkCopyOptions

Hedef tabloya SqlBulkCopyOptions kopyalanan veri kaynağı satırlarını belirleyen numaralandırmadaki değerlerin birleşimi.

externalTransaction
SqlTransaction

Toplu kopyalamanın gerçekleştirileceği mevcut SqlTransaction bir örnek.

Açıklamalar

Seçenekler arasında varsa UseInternalTransaction ve externalTransaction bağımsız değişken null değilse InvalidArgumentException oluşturulur.

İşlemde nasıl kullanılacağını SqlBulkCopy gösteren örnekler için bkz. İşlem ve Toplu Kopyalama İşlemleri.

Ayrıca bkz.

Şunlara uygulanır