Aracılığıyla paylaş


SqlBulkCopyColumnMapping Oluşturucular

Tanım

Aşırı Yüklemeler

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ütunun 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()

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ıralı konumlar eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Önemli

İş tablolarını Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi oluşturmadığınız sürece bu örnek ç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 örnekteyse, 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 mapMumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", "ProdNum");
                bulkCopy.ColumnMappings.Add(mapMumber);

                // 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ıyorsanız, daha sonra özelliğini veya özelliğini kullanarak SourceColumn eşlemenin kaynağını tanımlamanız ve özelliğini veya SourceOrdinalDestinationOrdinal özelliğini kullanarak DestinationColumn eşleme için hedefi tanımlamanız gerekir.

Şunlara uygulanır

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.

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

Kaynak sütunun veri kaynağı içindeki sıralı konumu.

destinationOrdinal
Int32

Hedef sütunun hedef tablo içindeki 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ıralı konumlar eşleşmez. SqlBulkCopyColumnMapping nesneleri, sütunların sıralı konumlarına göre toplu kopyalama için sütun eşlemesi oluşturmak için kullanılır.

Önemli

İş tablolarını Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi oluşturmadığınız sürece bu örnek ç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 örnekteyse, 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 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

Kaynak sütunun veri kaynağı içindeki sıralı konumu.

destinationColumn
String

Hedef tablodaki 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ıralı konumlar eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Önemli

İş tablolarını Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi oluşturmadığınız sürece bu örnek ç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 örnekteyse, 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 sütuna başvurmak için sütun adını ve hedef sütunun 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ğındaki kaynak sütunun adı.

destinationOrdinal
Int32

Hedef sütunun hedef tablo içindeki 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ıralı konumlar eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Önemli

İş tablolarını Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi oluşturmadığınız sürece bu örnek ç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 örnekteyse, 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 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ğındaki kaynak sütunun adı.

destinationColumn
String

Hedef tablodaki 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ıralı konumlar eşleşmez. SqlBulkCopyColumnMapping nesneleri, toplu kopya için sütun eşlemesi oluşturmak için kullanılır.

Önemli

İş tablolarını Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi oluşturmadığınız sürece bu örnek ç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 örnekteyse, 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 mapMumber =
                    new SqlBulkCopyColumnMapping("ProductNumber", "ProdNum");
                bulkCopy.ColumnMappings.Add(mapMumber);

                // 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