SqlBulkCopyColumnMappingCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
SqlBulkCopyColumnMapping Kolekcja obiektów dziedziczycych z elementu CollectionBase.
public ref class SqlBulkCopyColumnMappingCollection sealed : System::Collections::IList
public ref class SqlBulkCopyColumnMappingCollection sealed : System::Collections::CollectionBase
public sealed class SqlBulkCopyColumnMappingCollection : System.Collections.IList
public sealed class SqlBulkCopyColumnMappingCollection : System.Collections.CollectionBase
type SqlBulkCopyColumnMappingCollection = class
interface ICollection
interface IEnumerable
interface IList
type SqlBulkCopyColumnMappingCollection = class
inherit CollectionBase
Public NotInheritable Class SqlBulkCopyColumnMappingCollection
Implements IList
Public NotInheritable Class SqlBulkCopyColumnMappingCollection
Inherits CollectionBase
- Dziedziczenie
-
SqlBulkCopyColumnMappingCollection
- Dziedziczenie
- Implementuje
Przykłady
Poniższy przykład zbiorczo kopiuje dane z tabeli źródłowej w przykładowej bazie danych AdventureWorks do tabeli docelowej w tej samej bazie danych. Chociaż liczba kolumn w miejscu docelowym jest zgodna z liczbą kolumn w źródle, nazwy kolumn i pozycje porządkowe nie są zgodne. SqlBulkCopyColumnMapping są dodawane do SqlBulkCopyColumnMappingCollection obiektu , SqlBulkCopy aby utworzyć mapę kolumn dla kopii zbiorczej.
Ważne
Ten przykład nie zostanie uruchomiony, chyba że utworzono tabele robocze zgodnie z opisem w temacie Konfiguracja przykładu kopiowania zbiorczego. Ten kod jest dostarczany w celu zademonstrowania składni tylko przy użyciu narzędzia SqlBulkCopy . Jeśli tabele źródłowe i docelowe znajdują się w tym samym wystąpieniu SQL Server, łatwiej i szybciej jest użyć instrukcji Języka Transact-SQL INSERT ... SELECT
do skopiowania danych.
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
Uwagi
Mapowania kolumn definiują mapowanie między źródłem danych a tabelą docelową.
Jeśli mapowania nie są zdefiniowane — czyli ColumnMappings kolekcja jest pusta — kolumny są mapowane niejawnie na podstawie położenia porządkowego. Aby to działało, schematy źródłowe i docelowe muszą być zgodne. Jeśli tak nie jest, InvalidOperationException jest zgłaszany.
ColumnMappings Jeśli kolekcja nie jest pusta, nie należy określać każdej kolumny w źródle danych. Te, które nie są mapowane przez kolekcję, są ignorowane.
Możesz odwoływać się do kolumn źródłowych i docelowych według nazwy lub porządkowej. Odwołania do kolumn według nazw i porządkowych można mieszać w tej samej kolekcji mapowań.
Właściwości
Capacity |
Pobiera lub ustawia liczbę elementów, które CollectionBase mogą zawierać. (Odziedziczone po CollectionBase) |
Count |
Pobiera liczbę elementów zawartych w słowniku SqlBulkCopyColumnMappingCollection. |
Count |
Pobiera liczbę elementów zawartych w wystąpieniu CollectionBase . Tej właściwości nie można zastąpić. (Odziedziczone po CollectionBase) |
InnerList |
Pobiera obiekt ArrayList zawierający listę elementów w wystąpieniu CollectionBase . (Odziedziczone po CollectionBase) |
Item[Int32] |
SqlBulkCopyColumnMapping Pobiera obiekt w określonym indeksie. |
List |
Pobiera obiekt IList zawierający listę elementów w wystąpieniu CollectionBase . (Odziedziczone po CollectionBase) |
Metody
Add(Int32, Int32) |
Tworzy nowy SqlBulkCopyColumnMapping element i dodaje go do kolekcji przy użyciu reguł do określania kolumn źródłowych i docelowych. |
Add(Int32, String) |
Tworzy nowy SqlBulkCopyColumnMapping element i dodaje go do kolekcji przy użyciu porządkowego kolumny źródłowej i ciągu dla kolumny docelowej. |
Add(SqlBulkCopyColumnMapping) |
Dodaje określone mapowanie do elementu SqlBulkCopyColumnMappingCollection. |
Add(String, Int32) |
Tworzy nowy SqlBulkCopyColumnMapping element i dodaje ją do kolekcji przy użyciu nazwy kolumny w celu opisania kolumny źródłowej i porządkowej w celu określenia kolumny docelowej. |
Add(String, String) |
Tworzy nowy SqlBulkCopyColumnMapping element i dodaje go do kolekcji przy użyciu nazw kolumn w celu określenia zarówno kolumn źródłowych, jak i docelowych. |
Clear() |
Czyści zawartość kolekcji. |
Contains(SqlBulkCopyColumnMapping) |
Pobiera wartość wskazującą, czy określony SqlBulkCopyColumnMapping obiekt istnieje w kolekcji. |
CopyTo(SqlBulkCopyColumnMapping[], Int32) |
Kopiuje elementy SqlBulkCopyColumnMappingCollection elementu do tablicy SqlBulkCopyColumnMapping elementów, zaczynając od określonego indeksu. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetEnumerator() |
Zwraca moduł wyliczający, który iteruje po kolekcji. |
GetEnumerator() |
Zwraca moduł wyliczający, który iteruje po wystąpieniu CollectionBase . (Odziedziczone po CollectionBase) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IndexOf(SqlBulkCopyColumnMapping) |
Pobiera indeks określonego SqlBulkCopyColumnMapping obiektu. |
Insert(Int32, SqlBulkCopyColumnMapping) |
Wstaw nowy SqlBulkCopyColumnMapping w określonym indeksie. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
OnClear() |
Wykonuje dodatkowe procesy niestandardowe podczas czyszczenia zawartości CollectionBase wystąpienia. (Odziedziczone po CollectionBase) |
OnClearComplete() |
Wykonuje dodatkowe procesy niestandardowe po wyczyszczeniu zawartości CollectionBase wystąpienia. (Odziedziczone po CollectionBase) |
OnInsert(Int32, Object) |
Wykonuje dodatkowe procesy niestandardowe przed wstawieniem nowego elementu do CollectionBase wystąpienia. (Odziedziczone po CollectionBase) |
OnInsertComplete(Int32, Object) |
Wykonuje dodatkowe procesy niestandardowe po wstawieniu nowego elementu do CollectionBase wystąpienia. (Odziedziczone po CollectionBase) |
OnRemove(Int32, Object) |
Wykonuje dodatkowe procesy niestandardowe podczas usuwania elementu z CollectionBase wystąpienia. (Odziedziczone po CollectionBase) |
OnRemoveComplete(Int32, Object) |
Wykonuje dodatkowe procesy niestandardowe po usunięciu CollectionBase elementu z wystąpienia. (Odziedziczone po CollectionBase) |
OnSet(Int32, Object, Object) |
Wykonuje dodatkowe procesy niestandardowe przed ustawieniem wartości w wystąpieniu CollectionBase . (Odziedziczone po CollectionBase) |
OnSetComplete(Int32, Object, Object) |
Wykonuje dodatkowe procesy niestandardowe po ustawieniu wartości w wystąpieniu CollectionBase . (Odziedziczone po CollectionBase) |
OnValidate(Object) |
Wykonuje dodatkowe procesy niestandardowe podczas sprawdzania poprawności wartości. (Odziedziczone po CollectionBase) |
Remove(SqlBulkCopyColumnMapping) |
Usuwa określony SqlBulkCopyColumnMapping element z elementu SqlBulkCopyColumnMappingCollection. |
RemoveAt(Int32) |
Usuwa mapowanie w określonym indeksie z kolekcji. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
ICollection.CopyTo(Array, Int32) |
Kopiuje elementy ICollection elementu do obiektu Array, zaczynając od określonego Array indeksu. |
ICollection.CopyTo(Array, Int32) |
Kopiuje całość CollectionBase do zgodnego jednowymiarowego Arrayobiektu , zaczynając od określonego indeksu tablicy docelowej. (Odziedziczone po CollectionBase) |
ICollection.IsSynchronized |
Pobiera wartość wskazującą, czy dostęp do elementu ICollection jest synchronizowany (bezpieczny wątk). |
ICollection.IsSynchronized |
Pobiera wartość wskazującą, czy dostęp do elementu CollectionBase jest synchronizowany (bezpieczny wątk). (Odziedziczone po CollectionBase) |
ICollection.SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do obiektu ICollection. |
ICollection.SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do obiektu CollectionBase. (Odziedziczone po CollectionBase) |
IList.Add(Object) |
Dodaje element do elementu IList. |
IList.Add(Object) |
Dodaje obiekt na końcu obiektu CollectionBase. (Odziedziczone po CollectionBase) |
IList.Contains(Object) |
Określa, czy element IList zawiera określoną wartość. |
IList.Contains(Object) |
Określa, czy element CollectionBase zawiera określony element. (Odziedziczone po CollectionBase) |
IList.IndexOf(Object) |
Określa indeks określonego elementu w elemencie IList. |
IList.IndexOf(Object) |
Wyszukuje określony Object element i zwraca indeks oparty na zerze pierwszego wystąpienia w całym CollectionBaseobiekcie . (Odziedziczone po CollectionBase) |
IList.Insert(Int32, Object) |
Wstawia element do IList obiektu w określonym indeksie. |
IList.Insert(Int32, Object) |
Wstawia element do określonego indeksu CollectionBase . (Odziedziczone po CollectionBase) |
IList.IsFixedSize |
Pobiera wartość wskazującą, czy ma IList stały rozmiar. |
IList.IsFixedSize |
Pobiera wartość wskazującą, czy ma CollectionBase stały rozmiar. (Odziedziczone po CollectionBase) |
IList.IsReadOnly |
Pobiera wartość wskazującą, czy kolekcja IList jest przeznaczona tylko do odczytu. |
IList.IsReadOnly |
Pobiera wartość wskazującą, czy kolekcja CollectionBase jest przeznaczona tylko do odczytu. (Odziedziczone po CollectionBase) |
IList.Item[Int32] |
Pobiera lub ustawia element pod określonym indeksem. |
IList.Item[Int32] |
Pobiera lub ustawia element pod określonym indeksem. (Odziedziczone po CollectionBase) |
IList.Remove(Object) |
Usuwa pierwsze wystąpienie określonego obiektu z obiektu IList. |
IList.Remove(Object) |
Usuwa pierwsze wystąpienie określonego obiektu z obiektu CollectionBase. (Odziedziczone po CollectionBase) |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy obiektu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |