SqlBulkCopyColumnMappingCollection Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A SqlBulkCopyColumnMapping forrásból CollectionBaseöröklő objektumok gyűjteménye.
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
- Öröklődés
-
SqlBulkCopyColumnMappingCollection
- Öröklődés
- Megvalósítás
Példák
Az alábbi példa tömegesen másolja az adatokat az AdventureWorks mintaadatbázis egyik forrástáblájából egy céltáblába ugyanabban az adatbázisban. Bár a célhely oszlopainak száma megegyezik a forrás oszlopainak számával, az oszlopnevek és a sorszámok nem egyeznek. SqlBulkCopyColumnMapping a rendszer hozzáadja az SqlBulkCopyColumnMappingCollection objektumhoz, SqlBulkCopy hogy létrehozhasson egy oszloptérképet a tömeges másoláshoz.
Important
Ez a példa nem fog futni, hacsak nem hozta létre a munkatáblákat a Tömeges másolási példa beállításaszerint. Ez a kód csak az SqlBulkCopy használatának szintaxisát mutatja be. Ha a forrás- és céltáblák ugyanabban a SQL Server példányban találhatók, egyszerűbb és gyorsabb egy Transact-SQL INSERT ... SELECT utasítás használata az adatok másolásához.
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
Megjegyzések
Az oszlopleképezések határozzák meg az adatforrás és a céltábla közötti leképezést.
Ha a leképezések nincsenek definiálva – vagyis a ColumnMappings gyűjtemény üres –, az oszlopok implicit módon vannak leképezve a sorrendi pozíció alapján. Ahhoz, hogy ez működjön, a forrás- és célsémáknak egyeznie kell. Ha nem, egy InvalidOperationException dobni.
Ha a ColumnMappings gyűjtemény nem üres, nem kell megadni az adatforrásban található összes oszlopot. A gyűjtemény által nem leképezetteket a rendszer figyelmen kívül hagyja.
A forrás- és céloszlopokra név vagy sorszám alapján hivatkozhat. Azonos leképezési gyűjteményben a név és a sorszám szerinti oszlophivatkozások kombinálhatók.
Tulajdonságok
| Name | Description |
|---|---|
| Capacity |
Lekéri vagy beállítja a tartalmazható elemek CollectionBase számát. (Öröklődés forrása CollectionBase) |
| Count |
Lekéri a .SqlBulkCopyColumnMappingCollection |
| Count |
Lekéri a példányban CollectionBase található elemek számát. Ez a tulajdonság nem bírálható felül. (Öröklődés forrása CollectionBase) |
| InnerList |
ArrayList Lekéri a példány elemeinek CollectionBase listáját. (Öröklődés forrása CollectionBase) |
| Item[Int32] |
Lekéri az SqlBulkCopyColumnMapping objektumot a megadott indexen. |
| List |
IList Lekéri a példány elemeinek CollectionBase listáját. (Öröklődés forrása CollectionBase) |
Metódusok
| Name | Description |
|---|---|
| Add(Int32, Int32) |
Létrehoz egy újat SqlBulkCopyColumnMapping , és hozzáadja a gyűjteményhez a forrás- és a céloszlopok megadására vonatkozó sorszámokkal. |
| Add(Int32, String) |
Létrehoz egy újat SqlBulkCopyColumnMapping , és hozzáadja a gyűjteményhez a forrásoszlop sorszáma és a céloszlop sztringje használatával. |
| Add(SqlBulkCopyColumnMapping) |
Hozzáadja a megadott leképezést a SqlBulkCopyColumnMappingCollection. |
| Add(String, Int32) |
Létrehoz egy újat SqlBulkCopyColumnMapping , és hozzáadja a gyűjteményhez egy oszlopnévvel a forrásoszlop leírásához, valamint egy sorszámot a céloszlop megadásához. |
| Add(String, String) |
Létrehoz egy újat SqlBulkCopyColumnMapping , és hozzáadja a gyűjteményhez az oszlopnevek használatával a forrás- és a céloszlopok megadásához. |
| Clear() |
Törli a gyűjtemény tartalmát. |
| Contains(SqlBulkCopyColumnMapping) |
Beolvas egy értéket, amely jelzi, hogy létezik-e egy adott SqlBulkCopyColumnMapping objektum a gyűjteményben. |
| CopyTo(SqlBulkCopyColumnMapping[], Int32) |
Az elemeket SqlBulkCopyColumnMappingCollection egy elemtömbbe SqlBulkCopyColumnMapping másolja egy adott indextől kezdve. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetEnumerator() |
Egy gyűjteményen keresztül iteráló enumerátort ad vissza. |
| GetEnumerator() |
Egy enumerátort ad vissza, amely a példányon keresztül CollectionBase iterál. (Öröklődés forrása CollectionBase) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IndexOf(SqlBulkCopyColumnMapping) |
Lekéri a megadott SqlBulkCopyColumnMapping objektum indexét. |
| Insert(Int32, SqlBulkCopyColumnMapping) |
Szúrjon be egy újat SqlBulkCopyColumnMapping a megadott indexbe. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| OnClear() |
További egyéni folyamatokat hajt végre a példány tartalmának CollectionBase törlésekor. (Öröklődés forrása CollectionBase) |
| OnClearComplete() |
További egyéni folyamatokat hajt végre a példány tartalmának CollectionBase törlése után. (Öröklődés forrása CollectionBase) |
| OnInsert(Int32, Object) |
További egyéni folyamatokat hajt végre, mielőtt új elemet szúr be a CollectionBase példányba. (Öröklődés forrása CollectionBase) |
| OnInsertComplete(Int32, Object) |
További egyéni folyamatokat hajt végre, miután beszúrt egy új elemet a CollectionBase példányba. (Öröklődés forrása CollectionBase) |
| OnRemove(Int32, Object) |
További egyéni folyamatokat hajt végre, amikor eltávolít egy elemet a CollectionBase példányból. (Öröklődés forrása CollectionBase) |
| OnRemoveComplete(Int32, Object) |
További egyéni folyamatokat hajt végre, miután eltávolított egy elemet a CollectionBase példányból. (Öröklődés forrása CollectionBase) |
| OnSet(Int32, Object, Object) |
További egyéni folyamatokat hajt végre, mielőtt beállít egy értéket a CollectionBase példányban. (Öröklődés forrása CollectionBase) |
| OnSetComplete(Int32, Object, Object) |
További egyéni folyamatokat hajt végre, miután beállított egy értéket a CollectionBase példányban. (Öröklődés forrása CollectionBase) |
| OnValidate(Object) |
További egyéni folyamatokat hajt végre egy érték ellenőrzésekor. (Öröklődés forrása CollectionBase) |
| Remove(SqlBulkCopyColumnMapping) |
Eltávolítja a megadott SqlBulkCopyColumnMapping elemet a SqlBulkCopyColumnMappingCollection. |
| RemoveAt(Int32) |
Eltávolítja a megadott index leképezését a gyűjteményből. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Az elemeket ICollection egy adott indextől kezdve másolja Arrayegy adott Array indexbe. |
| ICollection.CopyTo(Array, Int32) |
A teljes CollectionBase példányt egy kompatibilis egydimenziósra Arraymásolja a céltömb megadott indexétől kezdve. (Öröklődés forrása CollectionBase) |
| ICollection.IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a ICollection hozzáférés szinkronizálva van-e (a szál biztonságos). |
| ICollection.IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a CollectionBase hozzáférés szinkronizálva van-e (a szál biztonságos). (Öröklődés forrása CollectionBase) |
| ICollection.SyncRoot |
Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.ICollection |
| ICollection.SyncRoot |
Lekéri az objektumot, amely a hozzáférés szinkronizálására használható.CollectionBase (Öröklődés forrása CollectionBase) |
| IList.Add(Object) |
Elemet ad hozzá a IList. |
| IList.Add(Object) |
Objektumot ad hozzá a CollectionBasevégéhez. (Öröklődés forrása CollectionBase) |
| IList.Contains(Object) |
Meghatározza, hogy az IList adott érték tartalmaz-e. |
| IList.Contains(Object) |
Meghatározza, hogy az CollectionBase adott elem tartalmaz-e. (Öröklődés forrása CollectionBase) |
| IList.IndexOf(Object) |
Egy adott elem indexét határozza meg a IList. |
| IList.IndexOf(Object) |
Megkeresi a megadott Object értéket, és a teljes első CollectionBaseelőfordulás nulla alapú indexét adja vissza. (Öröklődés forrása CollectionBase) |
| IList.Insert(Int32, Object) |
Beszúr egy elemet a IList megadott indexbe. |
| IList.Insert(Int32, Object) |
Elemet szúr be a CollectionBase megadott indexbe. (Öröklődés forrása CollectionBase) |
| IList.IsFixedSize |
Egy értéket kap, amely jelzi, hogy a IList méret rögzített-e. |
| IList.IsFixedSize |
Egy értéket kap, amely jelzi, hogy a CollectionBase méret rögzített-e. (Öröklődés forrása CollectionBase) |
| IList.IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az IList írásvédett-e. |
| IList.IsReadOnly |
Beolvas egy értéket, amely jelzi, hogy az CollectionBase írásvédett-e. (Öröklődés forrása CollectionBase) |
| IList.Item[Int32] |
Lekéri vagy beállítja az elemet a megadott indexen. |
| IList.Item[Int32] |
Lekéri vagy beállítja az elemet a megadott indexen. (Öröklődés forrása CollectionBase) |
| IList.Remove(Object) |
Eltávolítja egy adott objektum első előfordulását a IList. |
| IList.Remove(Object) |
Eltávolítja egy adott objektum első előfordulását a CollectionBase. (Öröklődés forrása CollectionBase) |
Bővítő metódusok
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Lehetővé teszi a lekérdezés párhuzamosítását. |
| AsQueryable(IEnumerable) |
Átalakítja az egyiket IEnumerableIQueryable. |
| Cast<TResult>(IEnumerable) |
Egy elem elemeit IEnumerable a megadott típusra veti. |
| OfType<TResult>(IEnumerable) |
Egy adott típus alapján szűri IEnumerable egy adott elem elemeit. |