Freigeben über


SqlBulkCopyColumnMappingCollection.Add Methode

Definition

Überlädt

Add(SqlBulkCopyColumnMapping)

Fügt der SqlBulkCopyColumnMappingCollection die angegebene Zuordnung hinzu.

Add(Int32, Int32)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quell- und Zielspalten mithilfe von Ordnungszahlen definiert werden.

Add(Int32, String)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quellspalten mithilfe von Ordnungszahlen und die Zielspalten mithilfe von Zeichenfolgen definiert werden.

Add(String, Int32)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quellspalte mithilfe eines Spaltennamens und die Zielspalte mithilfe einer Ordnungszahl definiert werden.

Add(String, String)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die die Quell- und die Zielspalte mithilfe von Spaltennamen definiert werden.

Add(SqlBulkCopyColumnMapping)

Fügt der SqlBulkCopyColumnMappingCollection die angegebene Zuordnung hinzu.

public:
 Microsoft::Data::SqlClient::SqlBulkCopyColumnMapping ^ Add(Microsoft::Data::SqlClient::SqlBulkCopyColumnMapping ^ bulkCopyColumnMapping);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping Add (Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping bulkCopyColumnMapping);
member this.Add : Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Function Add (bulkCopyColumnMapping As SqlBulkCopyColumnMapping) As SqlBulkCopyColumnMapping

Parameter

bulkCopyColumnMapping
SqlBulkCopyColumnMapping

Das SqlBulkCopyColumnMapping-Objekt beschreibt die der Auflistung hinzuzufügende Zuordnung.

Gibt zurück

Ein SqlBulkCopyColumnMapping-Objekt.

Beispiele

Im folgenden Beispiel werden Daten aus einer Quelltabelle in der Beispieldatenbank AdventureWorks in eine Zieltabelle derselben Datenbank massenkopiert. Obwohl die Anzahl der Spalten im Ziel mit der Anzahl der Spalten in der Quelle übereinstimmt, stimmen die Spaltennamen und Ordnungspositionen nicht überein. SqlBulkCopyColumnMapping -Objekte werden verwendet, um eine Spaltenzuordnung für den Massenkopiervorgang zu erstellen.

Wichtig

Dieses Beispiel wird nur ausgeführt, wenn Sie die Arbeitstabellen erstellt haben, wie unter Massenkopierbeispielsetup beschrieben. Der angegebene Code dient nur zur Demonstration der Syntax für die Verwendung von SqlBulkCopy. Wenn sich die Quell- und Zieltabellen in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL-Anweisung INSERT … SELECT zum Kopieren der Daten zu verwenden.

// <Snippet1>
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;";
    }
}
// </Snippet1>

Gilt für:

Add(Int32, Int32)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quell- und Zielspalten mithilfe von Ordnungszahlen definiert werden.

public:
 Microsoft::Data::SqlClient::SqlBulkCopyColumnMapping ^ Add(int sourceColumnIndex, int destinationColumnIndex);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping Add (int sourceColumnIndex, int destinationColumnIndex);
member this.Add : int * int -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Function Add (sourceColumnIndex As Integer, destinationColumnIndex As Integer) As SqlBulkCopyColumnMapping

Parameter

sourceColumnIndex
Int32

Die Ordinalposition der Quellspalte innerhalb der Datenquelle.

destinationColumnIndex
Int32

Die Ordinalposition der Zielspalte innerhalb der Zieltabelle.

Gibt zurück

Eine Spaltenzuordnungen.

Beispiele

Im folgenden Beispiel werden Daten aus einer Quelltabelle in der Beispieldatenbank AdventureWorks in eine Zieltabelle derselben Datenbank massenkopiert. Obwohl die Anzahl der Spalten im Ziel mit der Anzahl der Spalten in der Quelle übereinstimmt, stimmen die Spaltennamen und Ordnungspositionen nicht überein. SqlBulkCopyColumnMapping -Objekte werden verwendet, um eine Spaltenzuordnung für den Massenkopiervorgang unter Verwendung der Ordnungsposition der Quell- und Zielspalten zu erstellen.

Wichtig

Dieses Beispiel wird nur ausgeführt, wenn Sie die Arbeitstabellen erstellt haben, wie unter Massenkopierbeispielsetup beschrieben. Der angegebene Code dient nur zur Demonstration der Syntax für die Verwendung von SqlBulkCopy. Wenn sich die Quell- und Zieltabellen in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL-Anweisung INSERT … SELECT zum Kopieren der Daten zu verwenden.

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";

                // The column order in the source doesn't match the order 
                // in the destination, so ColumnMappings must be defined.
                bulkCopy.ColumnMappings.Add(0, 0);
                bulkCopy.ColumnMappings.Add(1, 2);
                bulkCopy.ColumnMappings.Add(2, 1);

                // 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;";
    }
}

Hinweise

Zuordnungen in einer Auflistung müssen einheitlich sein: entweder alle Ganzzahl-Ganzzahl-Paare, alle Zeichenfolgen-/Zeichenfolgenpaare, alle Ganzzahl-/Zeichenfolgenpaare oder alle Zeichenfolgen/Ganzzahl-Paare. Wenn Sie versuchen, eine Zuordnung hinzuzufügen, die sich von anderen Anderen unterscheidet, die bereits in der Sammlung enthalten sind, wird ein InvalidOperationException ausgelöst.

Gilt für:

Add(Int32, String)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quellspalten mithilfe von Ordnungszahlen und die Zielspalten mithilfe von Zeichenfolgen definiert werden.

public:
 Microsoft::Data::SqlClient::SqlBulkCopyColumnMapping ^ Add(int sourceColumnIndex, System::String ^ destinationColumn);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping Add (int sourceColumnIndex, string destinationColumn);
member this.Add : int * string -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Function Add (sourceColumnIndex As Integer, destinationColumn As String) As SqlBulkCopyColumnMapping

Parameter

sourceColumnIndex
Int32

Die Ordinalposition der Quellspalte innerhalb der Datenquelle.

destinationColumn
String

Der Name der Zielspalte innerhalb der Zieltabelle.

Gibt zurück

Eine Spaltenzuordnungen.

Beispiele

Im folgenden Beispiel werden Daten aus einer Quelltabelle in der Beispieldatenbank AdventureWorks in eine Zieltabelle derselben Datenbank massenkopiert. Obwohl die Anzahl der Spalten im Ziel mit der Anzahl der Spalten in der Quelle übereinstimmt, stimmen die Spaltennamen und Ordnungspositionen nicht überein. SqlBulkCopyColumnMapping -Objekte werden verwendet, um eine Spaltenzuordnung für den Massenkopiervorgang zu erstellen.

Wichtig

Dieses Beispiel wird nur ausgeführt, wenn Sie die Arbeitstabellen erstellt haben, wie unter Massenkopierbeispielsetup beschrieben. Der angegebene Code dient nur zur Demonstration der Syntax für die Verwendung von SqlBulkCopy. Wenn sich die Quell- und Zieltabellen in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL-Anweisung INSERT … SELECT zum Kopieren der Daten zu verwenden.

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";

                // The column order in the source doesn't match the order 
                // in the destination, so ColumnMappings must be defined.
                bulkCopy.ColumnMappings.Add(0, 0);
                bulkCopy.ColumnMappings.Add(1, 2);
                bulkCopy.ColumnMappings.Add(2, 1);

                // 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;";
    }
}

Hinweise

Zuordnungen in einer Auflistung müssen einheitlich sein: entweder alle Ganzzahl-Ganzzahl-Paare, alle Zeichenfolgen-/Zeichenfolgenpaare, alle Ganzzahl-/Zeichenfolgenpaare oder alle Zeichenfolgen/Ganzzahl-Paare. Wenn Sie versuchen, eine Zuordnung hinzuzufügen, die sich von anderen Anderen unterscheidet, die bereits in der Sammlung enthalten sind, wird ein InvalidOperationException ausgelöst.

Gilt für:

Add(String, Int32)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quellspalte mithilfe eines Spaltennamens und die Zielspalte mithilfe einer Ordnungszahl definiert werden.

public:
 Microsoft::Data::SqlClient::SqlBulkCopyColumnMapping ^ Add(System::String ^ sourceColumn, int destinationColumnIndex);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping Add (string sourceColumn, int destinationColumnIndex);
member this.Add : string * int -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Function Add (sourceColumn As String, destinationColumnIndex As Integer) As SqlBulkCopyColumnMapping

Parameter

sourceColumn
String

Der Name der Quellspalte innerhalb der Datenquelle.

destinationColumnIndex
Int32

Die Ordinalposition der Zielspalte innerhalb der Zieltabelle.

Gibt zurück

Eine Spaltenzuordnungen.

Beispiele

Im folgenden Beispiel werden Daten aus einer Quelltabelle in der Beispieldatenbank AdventureWorks in eine Zieltabelle derselben Datenbank massenkopiert. Obwohl die Anzahl der Spalten im Ziel mit der Anzahl der Spalten in der Quelle übereinstimmt, stimmen die Spaltennamen und Ordnungspositionen nicht überein. SqlBulkCopyColumnMapping -Objekte werden verwendet, um eine Spaltenzuordnung für den Massenkopiervorgang zu erstellen.

Wichtig

Dieses Beispiel wird nur ausgeführt, wenn Sie die Arbeitstabellen erstellt haben, wie unter Massenkopierbeispielsetup beschrieben. Der angegebene Code dient nur zur Demonstration der Syntax für die Verwendung von SqlBulkCopy. Wenn sich die Quell- und Zieltabellen in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL-Anweisung INSERT … SELECT zum Kopieren der Daten zu verwenden.

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";

                // The column order in the source doesn't match the order 
                // in the destination, so ColumnMappings must be defined.
                bulkCopy.ColumnMappings.Add(0, 0);
                bulkCopy.ColumnMappings.Add(1, 2);
                bulkCopy.ColumnMappings.Add(2, 1);

                // 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;";
    }
}

Hinweise

Zuordnungen in einer Auflistung müssen einheitlich sein: entweder alle Ganzzahl-Ganzzahl-Paare, alle Zeichenfolgen-/Zeichenfolgenpaare, alle Ganzzahl-/Zeichenfolgenpaare oder alle Zeichenfolgen/Ganzzahl-Paare. Wenn Sie versuchen, eine Zuordnung hinzuzufügen, die sich von anderen Anderen unterscheidet, die bereits in der Sammlung enthalten sind, wird ein InvalidOperationException ausgelöst.

Gilt für:

Add(String, String)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die die Quell- und die Zielspalte mithilfe von Spaltennamen definiert werden.

public:
 Microsoft::Data::SqlClient::SqlBulkCopyColumnMapping ^ Add(System::String ^ sourceColumn, System::String ^ destinationColumn);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping Add (string sourceColumn, string destinationColumn);
member this.Add : string * string -> Microsoft.Data.SqlClient.SqlBulkCopyColumnMapping
Public Function Add (sourceColumn As String, destinationColumn As String) As SqlBulkCopyColumnMapping

Parameter

sourceColumn
String

Der Name der Quellspalte innerhalb der Datenquelle.

destinationColumn
String

Der Name der Zielspalte innerhalb der Zieltabelle.

Gibt zurück

Eine Spaltenzuordnungen.

Beispiele

Im folgenden Beispiel werden Daten aus einer Quelltabelle in der Beispieldatenbank AdventureWorks in eine Zieltabelle derselben Datenbank massenkopiert. Obwohl die Anzahl der Spalten im Ziel mit der Anzahl der Spalten in der Quelle übereinstimmt, stimmen die Spaltennamen und Ordnungspositionen nicht überein. Der Code erstellt ein SqlBulkCopyColumnMapping Objekt, indem die Spaltennamen angegeben werden.

Wichtig

Dieses Beispiel wird nur ausgeführt, wenn Sie die Arbeitstabellen erstellt haben, wie unter Massenkopierbeispielsetup beschrieben. Der angegebene Code dient nur zur Demonstration der Syntax für die Verwendung von SqlBulkCopy. Wenn sich die Quell- und Zieltabellen in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL-Anweisung INSERT … SELECT zum Kopieren der Daten zu verwenden.

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";

                // The column order in the source doesn't match the order 
                // in the destination, so ColumnMappings must be defined.
                bulkCopy.ColumnMappings.Add("ProductID", "ProdID");
                bulkCopy.ColumnMappings.Add("Name", "ProdName");
                bulkCopy.ColumnMappings.Add("ProductNumber", "ProdNum");

                // 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;";
    }
}

Hinweise

Zuordnungen in einer Auflistung müssen einheitlich sein: entweder alle Ganzzahl-Ganzzahl-Paare, alle Zeichenfolgen-/Zeichenfolgenpaare, alle Ganzzahl-/Zeichenfolgenpaare oder alle Zeichenfolgen/Ganzzahl-Paare. Wenn Sie versuchen, eine Zuordnung hinzuzufügen, die sich von anderen Anderen unterscheidet, die bereits in der Sammlung enthalten sind, wird ein InvalidOperationException ausgelöst.

Gilt für: