Dil

SqlBulkCopyColumnMapping Oluşturucular

Tanım

Aşırı Yüklemeler

Veri Akışı Adı Description
SqlBulkCopyColumnMapping()

Yeni SqlBulkCopyColumnMapping bir nesne başlatan parametresiz oluşturucu.

SqlBulkCopyColumnMapping(Int32, Int32)

Kaynak ve hedef sütunlara başvurmak için sütun sıralarını kullanarak yeni bir sütun eşlemesi oluşturur.

SqlBulkCopyColumnMapping(Int32, String)

Kaynak sütuna başvurmak için sütun sırasını ve hedef sütunun sütun adını kullanarak yeni bir sütun eşlemesi oluşturur.

SqlBulkCopyColumnMapping(String, Int32)

Kaynak sütuna başvurmak için sütun adını ve hedef sütun için bir sütun sırasını kullanarak yeni bir sütun eşlemesi oluşturur.

SqlBulkCopyColumnMapping(String, String)

Kaynak ve hedef sütunlara başvurmak için sütun adlarını kullanarak yeni bir sütun eşlemesi oluşturur.

SqlBulkCopyColumnMapping()

Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs

Yeni SqlBulkCopyColumnMapping bir nesne başlatan parametresiz oluşturucu.

public:
 SqlBulkCopyColumnMapping();
public SqlBulkCopyColumnMapping();
Public Sub New ()

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using System;
using System.Data;
using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by name.
                SqlBulkCopyColumnMapping mapID =
                    new SqlBulkCopyColumnMapping("ProductID", "ProdID");
                bulkCopy.ColumnMappings.Add(mapID);

                SqlBulkCopyColumnMapping mapName =
                    new SqlBulkCopyColumnMapping("Name", "ProdName");
                bulkCopy.ColumnMappings.Add(mapName);

                SqlBulkCopyColumnMapping mapNumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", "ProdNum");
                bulkCopy.ColumnMappings.Add(mapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Açıklamalar

Bu oluşturucuyu kullanırsanız, özelliği veya özelliği kullanarak SourceColumn eşlemenin kaynağını tanımlamanız ve özelliği veya SourceOrdinal özelliği kullanarak eşlemenin hedefini DestinationColumnDestinationOrdinal tanımlamanız gerekir.

Şunlara uygulanır

SqlBulkCopyColumnMapping(Int32, Int32)

Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs

Kaynak ve hedef sütunlara başvurmak için sütun sıralarını kullanarak yeni bir sütun eşlemesi oluşturur.

public:
 SqlBulkCopyColumnMapping(int sourceColumnOrdinal, int destinationOrdinal);
public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, int destinationOrdinal);
new Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping : int * int -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Sub New (sourceColumnOrdinal As Integer, destinationOrdinal As Integer)

Parametreler

sourceColumnOrdinal
Int32

Veri kaynağı içindeki kaynak sütunun sıralı konumu.

destinationOrdinal
Int32

Hedef tablo içindeki hedef sütunun sıralı konumu.

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, sütunların sıralı konumlarına göre toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by ordinal.
                SqlBulkCopyColumnMapping columnMapID =
                    new SqlBulkCopyColumnMapping(0, 0);
                bulkCopy.ColumnMappings.Add(columnMapID);

                SqlBulkCopyColumnMapping columnMapName =
                    new SqlBulkCopyColumnMapping(1, 2);
                bulkCopy.ColumnMappings.Add(columnMapName);

                SqlBulkCopyColumnMapping columnMapNumber =
                    new SqlBulkCopyColumnMapping(2, 1);
                bulkCopy.ColumnMappings.Add(columnMapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, sütunların sıralı konumlarına göre toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz.

Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by ordinal.
                SqlBulkCopyColumnMapping columnMapID =
                    new SqlBulkCopyColumnMapping(0, 0);
                bulkCopy.ColumnMappings.Add(columnMapID);

                SqlBulkCopyColumnMapping columnMapName =
                    new SqlBulkCopyColumnMapping(1, 2);
                bulkCopy.ColumnMappings.Add(columnMapName);

                SqlBulkCopyColumnMapping columnMapNumber =
                    new SqlBulkCopyColumnMapping(2, 1);
                bulkCopy.ColumnMappings.Add(columnMapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Şunlara uygulanır

SqlBulkCopyColumnMapping(Int32, String)

Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs

Kaynak sütuna başvurmak için sütun sırasını ve hedef sütunun sütun adını kullanarak yeni bir sütun eşlemesi oluşturur.

public:
 SqlBulkCopyColumnMapping(int sourceColumnOrdinal, System::String ^ destinationColumn);
public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, string destinationColumn);
new Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping : int * string -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Sub New (sourceColumnOrdinal As Integer, destinationColumn As String)

Parametreler

sourceColumnOrdinal
Int32

Veri kaynağı içindeki kaynak sütunun sıralı konumu.

destinationColumn
String

Hedef tablo içindeki hedef sütunun adı.

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by ordinal and name.
                SqlBulkCopyColumnMapping columnMapID =
                    new SqlBulkCopyColumnMapping(0, "ProdID");
                bulkCopy.ColumnMappings.Add(columnMapID);

                SqlBulkCopyColumnMapping columnMapName =
                    new SqlBulkCopyColumnMapping(1, "ProdName");
                bulkCopy.ColumnMappings.Add(columnMapName);

                SqlBulkCopyColumnMapping columnMapNumber =
                    new SqlBulkCopyColumnMapping(2, "ProdNum");
                bulkCopy.ColumnMappings.Add(columnMapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz.

Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by ordinal and name.
                SqlBulkCopyColumnMapping columnMapID =
                    new SqlBulkCopyColumnMapping(0, "ProdID");
                bulkCopy.ColumnMappings.Add(columnMapID);

                SqlBulkCopyColumnMapping columnMapName =
                    new SqlBulkCopyColumnMapping(1, "ProdName");
                bulkCopy.ColumnMappings.Add(columnMapName);

                SqlBulkCopyColumnMapping columnMapNumber =
                    new SqlBulkCopyColumnMapping(2, "ProdNum");
                bulkCopy.ColumnMappings.Add(columnMapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Şunlara uygulanır

SqlBulkCopyColumnMapping(String, Int32)

Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs

Kaynak sütuna başvurmak için sütun adını ve hedef sütun için bir sütun sırasını kullanarak yeni bir sütun eşlemesi oluşturur.

public:
 SqlBulkCopyColumnMapping(System::String ^ sourceColumn, int destinationOrdinal);
public SqlBulkCopyColumnMapping(string sourceColumn, int destinationOrdinal);
new Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping : string * int -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Sub New (sourceColumn As String, destinationOrdinal As Integer)

Parametreler

sourceColumn
String

Veri kaynağı içindeki kaynak sütunun adı.

destinationOrdinal
Int32

Hedef tablo içindeki hedef sütunun sıralı konumu.

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by name and ordinal.
                SqlBulkCopyColumnMapping columnMapID =
                    new SqlBulkCopyColumnMapping("ProductID", 0);
                bulkCopy.ColumnMappings.Add(columnMapID);

                SqlBulkCopyColumnMapping columnMapName =
                    new SqlBulkCopyColumnMapping("Name", 2);
                bulkCopy.ColumnMappings.Add(columnMapName);

                SqlBulkCopyColumnMapping columnMapNumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", 1);
                bulkCopy.ColumnMappings.Add(columnMapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz.

Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by name and ordinal.
                SqlBulkCopyColumnMapping columnMapID =
                    new SqlBulkCopyColumnMapping("ProductID", 0);
                bulkCopy.ColumnMappings.Add(columnMapID);

                SqlBulkCopyColumnMapping columnMapName =
                    new SqlBulkCopyColumnMapping("Name", 2);
                bulkCopy.ColumnMappings.Add(columnMapName);

                SqlBulkCopyColumnMapping columnMapNumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", 1);
                bulkCopy.ColumnMappings.Add(columnMapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Şunlara uygulanır

SqlBulkCopyColumnMapping(String, String)

Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs
Kaynak:
SqlBulkCopyColumnMapping.cs

Kaynak ve hedef sütunlara başvurmak için sütun adlarını kullanarak yeni bir sütun eşlemesi oluşturur.

public:
 SqlBulkCopyColumnMapping(System::String ^ sourceColumn, System::String ^ destinationColumn);
public SqlBulkCopyColumnMapping(string sourceColumn, string destinationColumn);
new Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping : string * string -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Sub New (sourceColumn As String, destinationColumn As String)

Parametreler

sourceColumn
String

Veri kaynağı içindeki kaynak sütunun adı.

destinationColumn
String

Hedef tablo içindeki hedef sütunun adı.

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using System;
using System.Data;
using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by name.
                SqlBulkCopyColumnMapping mapID =
                    new SqlBulkCopyColumnMapping("ProductID", "ProdID");
                bulkCopy.ColumnMappings.Add(mapID);

                SqlBulkCopyColumnMapping mapName =
                    new SqlBulkCopyColumnMapping("Name", "ProdName");
                bulkCopy.ColumnMappings.Add(mapName);

                SqlBulkCopyColumnMapping mapNumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", "ProdNum");
                bulkCopy.ColumnMappings.Add(mapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz.

Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT … SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

using System;
using System.Data;
using Microsoft.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.BulkCopyDemoDifferentColumns;",
                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 (SqlBulkCopy bulkCopy =
                       new SqlBulkCopy(connectionString))
            {
                bulkCopy.DestinationTableName =
                    "dbo.BulkCopyDemoDifferentColumns";

                // Set up the column mappings by name.
                SqlBulkCopyColumnMapping mapID =
                    new SqlBulkCopyColumnMapping("ProductID", "ProdID");
                bulkCopy.ColumnMappings.Add(mapID);

                SqlBulkCopyColumnMapping mapName =
                    new SqlBulkCopyColumnMapping("Name", "ProdName");
                bulkCopy.ColumnMappings.Add(mapName);

                SqlBulkCopyColumnMapping mapNumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", "ProdNum");
                bulkCopy.ColumnMappings.Add(mapNumber);

                // Write from the source to the destination.
                try
                {
                    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;";
    }
}

Şunlara uygulanır