SqlBulkCopyColumnMappingCollection SqlBulkCopyColumnMappingCollection SqlBulkCopyColumnMappingCollection SqlBulkCopyColumnMappingCollection Class

Definition

Auflistung von SqlBulkCopyColumnMapping-Objekten, die von CollectionBase erbt.Collection of SqlBulkCopyColumnMapping objects that inherits from CollectionBase.

public ref class SqlBulkCopyColumnMappingCollection sealed : System::Collections::CollectionBase
public sealed class SqlBulkCopyColumnMappingCollection : System.Collections.CollectionBase
type SqlBulkCopyColumnMappingCollection = class
    inherit CollectionBase
Public NotInheritable Class SqlBulkCopyColumnMappingCollection
Inherits CollectionBase
Vererbung
SqlBulkCopyColumnMappingCollectionSqlBulkCopyColumnMappingCollectionSqlBulkCopyColumnMappingCollectionSqlBulkCopyColumnMappingCollection

Beispiele

Im folgenden Beispiel werden Daten aus einer Quell Tabelle in der AdventureWorks -Beispieldatenbank in eine Ziel Tabelle in derselben Datenbank kopiert.The following example bulk copies data from a source table in the AdventureWorks sample database to a destination table in the same database. Obwohl die Anzahl der Spalten im Ziel mit der Anzahl der Spalten in der Quelle übereinstimmt, stimmen die Spaltennamen und Ordinalpositionen nicht überein.Although the number of columns in the destination matches the number of columns in the source, the column names and ordinal positions do not match. SqlBulkCopyColumnMappingwerden dem SqlBulkCopyColumnMappingCollection für das SqlBulkCopy -Objekt hinzugefügt, um eine Spalten Zuordnung für den Massen Kopiervorgang zu erstellen.SqlBulkCopyColumnMapping are added to the SqlBulkCopyColumnMappingCollection for the SqlBulkCopy object to create a column map for the bulk copy.

Wichtig

Dieses Beispiel wird nur dann ausgeführt, wenn Sie die Arbeits Tabellen erstellt haben, wie unter Beispiel für Massen KopierVorgänge beschrieben.This sample will not run unless you have created the work tables as described in Bulk Copy Example Setup. Dieser Code wird bereitgestellt, um die Syntax nur für die Verwendung von SqlBulkCopy zu veranschaulichen.This code is provided to demonstrate the syntax for using SqlBulkCopy only. Wenn sich die Quell-und Ziel Tabelle in derselben SQL Server Instanz befinden, ist es einfacher und schneller, eine Transact-SQL INSERT … SELECT -Anweisung zu verwenden, um die Daten zu kopieren.If the source and destination tables are in the same SQL Server instance, it is easier and faster to use a Transact-SQL INSERT … SELECT statement to copy the data.

using System.Data.SqlClient;

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

            // Perform an initial count on the destination table.
            SqlCommand commandRowCount = new SqlCommand(
                "SELECT COUNT(*) FROM " +
                "dbo.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;";
    }
}
Imports System.Data.SqlClient

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

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

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

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

            ' Set up the bulk copy object.
            Using bulkCopy As SqlBulkCopy = 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 ex As Exception
                    Console.WriteLine(ex.Message)

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

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

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

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

Hinweise

Spalten Zuordnungen definieren die Zuordnung zwischen der Datenquelle und der Ziel Tabelle.Column mappings define the mapping between data source and the target table.

Wenn keine Zuordnungen definiert sind, d. h. ColumnMappings die Auflistung ist leer, werden die Spalten implizit basierend auf der Ordinalposition zugeordnet.If mappings are not defined - that is, the ColumnMappings collection is empty - the columns are mapped implicitly based on ordinal position. Damit dies funktioniert, müssen Quell-und Ziel Schemas mit identisch sein.For this to work, source and target schemas must match. Wenn dies nicht der Fall ist InvalidOperationException , wird eine ausgelöst.If they do not, an InvalidOperationException is thrown.

Wenn die ColumnMappings Auflistung nicht leer ist, muss nicht jede Spalte in der Datenquelle angegeben werden.If the ColumnMappings collection is not empty, not every column present in the data source has to be specified. Die, die nicht von der Auflistung zugeordnet werden, werden ignoriert.Those not mapped by the collection are ignored.

Sie können anhand des Namens oder der Ordinalzahl auf Quell-und Ziel Spalten verweisen.You can refer to source and target columns by either name or ordinal. Sie können Spalten Verweise nach Namen und durch Ordinalzahl in derselben Zuordnungs Auflistung kombinieren.You can mix by-name and by-ordinal column references in the same mappings collection.

Eigenschaften

Capacity Capacity Capacity Capacity

Ruft die Anzahl der Elemente ab, die die CollectionBase enthalten kann, oder legt diese fest.Gets or sets the number of elements that the CollectionBase can contain.

(Inherited from CollectionBase)
Count Count Count Count
InnerList InnerList InnerList InnerList

Ruft eine ArrayList mit der Liste der Elemente in der CollectionBase-Instanz ab.Gets an ArrayList containing the list of elements in the CollectionBase instance.

(Inherited from CollectionBase)
Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ruft das SqlBulkCopyColumnMapping-Objekt am angegebenen Index ab.Gets the SqlBulkCopyColumnMapping object at the specified index.

List List List List

Ruft eine IList mit der Liste der Elemente in der CollectionBase-Instanz ab.Gets an IList containing the list of elements in the CollectionBase instance.

(Inherited from CollectionBase)

Methoden

Add(Int32, Int32) Add(Int32, Int32) Add(Int32, Int32) Add(Int32, Int32)

Erstellt ein neues SqlBulkCopyColumnMapping und fügt es der Auflistung hinzu, wobei die Quell- und Zielspalten mithilfe von Ordnungszahlen definiert werden.Creates a new SqlBulkCopyColumnMapping and adds it to the collection, using ordinals to specify both source and destination columns.

Add(Int32, String) Add(Int32, String) Add(Int32, String) 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.Creates a new SqlBulkCopyColumnMapping and adds it to the collection, using an ordinal for the source column and a string for the destination column.

Add(SqlBulkCopyColumnMapping) Add(SqlBulkCopyColumnMapping) Add(SqlBulkCopyColumnMapping) Add(SqlBulkCopyColumnMapping)

Fügt der SqlBulkCopyColumnMappingCollection die angegebene Zuordnung hinzu.Adds the specified mapping to the SqlBulkCopyColumnMappingCollection.

Add(String, Int32) Add(String, Int32) Add(String, Int32) 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.Creates a new SqlBulkCopyColumnMapping and adds it to the collection, using a column name to describe the source column and an ordinal to specify the destination column.

Add(String, String) Add(String, String) Add(String, String) 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.Creates a new SqlBulkCopyColumnMapping and adds it to the collection, using column names to specify both source and destination columns.

Clear() Clear() Clear() Clear()

Löscht den Inhalt der Auflistung.Clears the contents of the collection.

Contains(SqlBulkCopyColumnMapping) Contains(SqlBulkCopyColumnMapping) Contains(SqlBulkCopyColumnMapping) Contains(SqlBulkCopyColumnMapping)

Ruft einen Wert ab, der angibt, ob ein bestimmtes SqlBulkCopyColumnMapping-Objekt in der Auflistung vorhanden ist.Gets a value indicating whether a specified SqlBulkCopyColumnMapping object exists in the collection.

CopyTo(SqlBulkCopyColumnMapping[], Int32) CopyTo(SqlBulkCopyColumnMapping[], Int32) CopyTo(SqlBulkCopyColumnMapping[], Int32) CopyTo(SqlBulkCopyColumnMapping[], Int32)

Kopiert die Elemente aus SqlBulkCopyColumnMappingCollection in ein Array von SqlBulkCopyColumnMapping-Elementen, beginnend bei einem bestimmten Index.Copies the elements of the SqlBulkCopyColumnMappingCollection to an array of SqlBulkCopyColumnMapping items, starting at a particular index.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(SqlBulkCopyColumnMapping) IndexOf(SqlBulkCopyColumnMapping) IndexOf(SqlBulkCopyColumnMapping) IndexOf(SqlBulkCopyColumnMapping)

Ruft den Index des angegebenen SqlBulkCopyColumnMapping-Objekts ab.Gets the index of the specified SqlBulkCopyColumnMapping object.

Insert(Int32, SqlBulkCopyColumnMapping) Insert(Int32, SqlBulkCopyColumnMapping) Insert(Int32, SqlBulkCopyColumnMapping) Insert(Int32, SqlBulkCopyColumnMapping)

Fügen Sie am angegebenen Index eine neue SqlBulkCopyColumnMapping ein.Insert a new SqlBulkCopyColumnMapping at the index specified.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnClear() OnClear() OnClear() OnClear()

Führt zusätzliche benutzerdefinierte Prozesse beim Löschen des Inhalts der CollectionBase-Instanz aus.Performs additional custom processes when clearing the contents of the CollectionBase instance.

(Inherited from CollectionBase)
OnClearComplete() OnClearComplete() OnClearComplete() OnClearComplete()

Führt nach dem Löschen des Inhalts der CollectionBase-Instanz zusätzliche benutzerdefinierte Prozesse aus.Performs additional custom processes after clearing the contents of the CollectionBase instance.

(Inherited from CollectionBase)
OnInsert(Int32, Object) OnInsert(Int32, Object) OnInsert(Int32, Object) OnInsert(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Einfügen eines neuen Elements in die CollectionBase-Instanz aus.Performs additional custom processes before inserting a new element into the CollectionBase instance.

(Inherited from CollectionBase)
OnInsertComplete(Int32, Object) OnInsertComplete(Int32, Object) OnInsertComplete(Int32, Object) OnInsertComplete(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Einfügen eines neuen Elements in die CollectionBase-Instanz aus.Performs additional custom processes after inserting a new element into the CollectionBase instance.

(Inherited from CollectionBase)
OnRemove(Int32, Object) OnRemove(Int32, Object) OnRemove(Int32, Object) OnRemove(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse beim Entfernen eines Elements aus der CollectionBase-Instanz aus.Performs additional custom processes when removing an element from the CollectionBase instance.

(Inherited from CollectionBase)
OnRemoveComplete(Int32, Object) OnRemoveComplete(Int32, Object) OnRemoveComplete(Int32, Object) OnRemoveComplete(Int32, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Entfernen eines Elements aus der CollectionBase-Instanz aus.Performs additional custom processes after removing an element from the CollectionBase instance.

(Inherited from CollectionBase)
OnSet(Int32, Object, Object) OnSet(Int32, Object, Object) OnSet(Int32, Object, Object) OnSet(Int32, Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse vor dem Festlegen eines Werts in der CollectionBase-Instanz aus.Performs additional custom processes before setting a value in the CollectionBase instance.

(Inherited from CollectionBase)
OnSetComplete(Int32, Object, Object) OnSetComplete(Int32, Object, Object) OnSetComplete(Int32, Object, Object) OnSetComplete(Int32, Object, Object)

Führt zusätzliche benutzerdefinierte Prozesse nach dem Festlegen eines Werts in der CollectionBase-Instanz aus.Performs additional custom processes after setting a value in the CollectionBase instance.

(Inherited from CollectionBase)
OnValidate(Object) OnValidate(Object) OnValidate(Object) OnValidate(Object)

Führt zusätzliche benutzerdefinierte Prozesse beim Validieren eines Werts aus.Performs additional custom processes when validating a value.

(Inherited from CollectionBase)
Remove(SqlBulkCopyColumnMapping) Remove(SqlBulkCopyColumnMapping) Remove(SqlBulkCopyColumnMapping) Remove(SqlBulkCopyColumnMapping)

Entfernt das angegebene SqlBulkCopyColumnMapping aus SqlBulkCopyColumnMappingCollection.Removes the specified SqlBulkCopyColumnMapping element from the SqlBulkCopyColumnMappingCollection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Entfernt am angegebenen Index die Zuordnung aus der Auflistung.Removes the mapping at the specified index from the collection.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)
ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized
ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot
IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)
IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)
IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)
IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)
IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize
IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly
IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]
IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)

Erweiterungsmethoden

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch