SqlBulkCopyColumnMappingCollection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
SqlBulkCopyColumnMapping Kumpulan objek yang mewarisi dari 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
- Warisan
-
SqlBulkCopyColumnMappingCollection
- Warisan
- Penerapan
Contoh
Contoh berikut menyalin data secara massal dari tabel sumber di database sampel AdventureWorks ke tabel tujuan dalam database yang sama. Meskipun jumlah kolom di tujuan cocok dengan jumlah kolom dalam sumber, nama kolom dan posisi ordinal tidak cocok. SqlBulkCopyColumnMapping ditambahkan ke SqlBulkCopyColumnMappingCollection untuk SqlBulkCopy objek guna membuat peta kolom untuk salinan massal.
Penting
Sampel ini tidak akan berjalan kecuali Anda telah membuat tabel kerja seperti yang dijelaskan dalam Penyiapan Contoh Salinan Massal. Kode ini disediakan untuk mendemonstrasikan sintaks untuk menggunakan SqlBulkCopy saja. Jika tabel sumber dan tujuan berada dalam instans SQL Server yang sama, lebih mudah dan lebih cepat untuk menggunakan pernyataan Transact-SQL INSERT ... SELECT
untuk menyalin 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
Keterangan
Pemetaan kolom menentukan pemetaan antara sumber data dan tabel target.
Jika pemetaan tidak ditentukan - artinya, ColumnMappings koleksi kosong - kolom dipetakan secara implisit berdasarkan posisi ordinal. Agar ini berfungsi, skema sumber dan target harus cocok. Jika mereka tidak, akan InvalidOperationException dilemparkan.
ColumnMappings Jika koleksi tidak kosong, tidak setiap kolom yang ada di sumber data harus ditentukan. Yang tidak dipetakan oleh koleksi diabaikan.
Anda dapat merujuk ke kolom sumber dan target dengan nama atau ordinal. Anda dapat mencampur referensi kolom berdasarkan nama dan berdasarkan ordinal dalam koleksi pemetaan yang sama.
Properti
Capacity |
Mendapatkan atau mengatur jumlah elemen yang dapat dimuat CollectionBase . (Diperoleh dari CollectionBase) |
Count |
Mendapatkan jumlah elemen yang terkandung dalam SqlBulkCopyColumnMappingCollection. |
Count |
Mendapatkan jumlah elemen yang terkandung dalam CollectionBase instans. Properti ini tidak dapat ditimpa. (Diperoleh dari CollectionBase) |
InnerList |
Mendapatkan yang ArrayList berisi daftar elemen dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
Item[Int32] |
Mendapatkan objek pada SqlBulkCopyColumnMapping indeks yang ditentukan. |
List |
Mendapatkan yang IList berisi daftar elemen dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
Metode
Add(Int32, Int32) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan ordinal untuk menentukan kolom sumber dan tujuan. |
Add(Int32, String) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan ordinal untuk kolom sumber dan string untuk kolom tujuan. |
Add(SqlBulkCopyColumnMapping) |
Menambahkan pemetaan yang ditentukan ke SqlBulkCopyColumnMappingCollection. |
Add(String, Int32) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan nama kolom untuk menjelaskan kolom sumber dan ordinal untuk menentukan kolom tujuan. |
Add(String, String) |
Membuat baru SqlBulkCopyColumnMapping dan menambahkannya ke koleksi, menggunakan nama kolom untuk menentukan kolom sumber dan tujuan. |
Clear() |
Menghapus isi koleksi. |
Contains(SqlBulkCopyColumnMapping) |
Mendapatkan nilai yang menunjukkan apakah objek tertentu SqlBulkCopyColumnMapping ada dalam koleksi. |
CopyTo(SqlBulkCopyColumnMapping[], Int32) |
Menyalin elemen ke SqlBulkCopyColumnMappingCollection array SqlBulkCopyColumnMapping item, dimulai pada indeks tertentu. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetEnumerator() |
Mengembalikan enumerator yang berulang melalui koleksi. |
GetEnumerator() |
Mengembalikan enumerator yang berulang melalui CollectionBase instans. (Diperoleh dari CollectionBase) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
IndexOf(SqlBulkCopyColumnMapping) |
Mendapatkan indeks objek yang ditentukan SqlBulkCopyColumnMapping . |
Insert(Int32, SqlBulkCopyColumnMapping) |
Sisipkan yang baru SqlBulkCopyColumnMapping pada indeks yang ditentukan. |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnClear() |
Melakukan proses kustom tambahan saat menghapus konten instans CollectionBase . (Diperoleh dari CollectionBase) |
OnClearComplete() |
Melakukan proses kustom tambahan setelah menghapus konten instans CollectionBase . (Diperoleh dari CollectionBase) |
OnInsert(Int32, Object) |
Melakukan proses kustom tambahan sebelum menyisipkan elemen baru ke CollectionBase dalam instans. (Diperoleh dari CollectionBase) |
OnInsertComplete(Int32, Object) |
Melakukan proses kustom tambahan setelah menyisipkan elemen baru ke CollectionBase dalam instans. (Diperoleh dari CollectionBase) |
OnRemove(Int32, Object) |
Melakukan proses kustom tambahan saat menghapus elemen dari CollectionBase instans. (Diperoleh dari CollectionBase) |
OnRemoveComplete(Int32, Object) |
Melakukan proses kustom tambahan setelah menghapus elemen dari CollectionBase instans. (Diperoleh dari CollectionBase) |
OnSet(Int32, Object, Object) |
Melakukan proses kustom tambahan sebelum mengatur nilai dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
OnSetComplete(Int32, Object, Object) |
Melakukan proses kustom tambahan setelah menetapkan nilai dalam CollectionBase instans. (Diperoleh dari CollectionBase) |
OnValidate(Object) |
Melakukan proses kustom tambahan saat memvalidasi nilai. (Diperoleh dari CollectionBase) |
Remove(SqlBulkCopyColumnMapping) |
Menghapus elemen yang ditentukan SqlBulkCopyColumnMapping dari SqlBulkCopyColumnMappingCollection. |
RemoveAt(Int32) |
Menghapus pemetaan pada indeks yang ditentukan dari koleksi. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
ICollection.CopyTo(Array, Int32) |
Menyalin elemen ICollection ke Array, dimulai dari indeks tertentu Array . |
ICollection.CopyTo(Array, Int32) |
Menyalin seluruh CollectionBase ke satu dimensi Arrayyang kompatibel, dimulai dari indeks array target yang ditentukan. (Diperoleh dari CollectionBase) |
ICollection.IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan ICollection (utas aman). |
ICollection.IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan CollectionBase (utas aman). (Diperoleh dari CollectionBase) |
ICollection.SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ICollection. |
ICollection.SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke CollectionBase. (Diperoleh dari CollectionBase) |
IList.Add(Object) |
Menambahkan item ke IList. |
IList.Add(Object) |
Menambahkan objek ke akhir CollectionBase. (Diperoleh dari CollectionBase) |
IList.Contains(Object) |
Menentukan apakah IList berisi nilai tertentu. |
IList.Contains(Object) |
Menentukan apakah CollectionBase berisi elemen tertentu. (Diperoleh dari CollectionBase) |
IList.IndexOf(Object) |
Menentukan indeks item tertentu di IList. |
IList.IndexOf(Object) |
Mencari yang ditentukan Object dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh CollectionBase. (Diperoleh dari CollectionBase) |
IList.Insert(Int32, Object) |
Sisipkan item ke pada IList indeks yang ditentukan. |
IList.Insert(Int32, Object) |
Menyisipkan elemen ke dalam pada CollectionBase indeks yang ditentukan. (Diperoleh dari CollectionBase) |
IList.IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah IList memiliki ukuran tetap. |
IList.IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah CollectionBase memiliki ukuran tetap. (Diperoleh dari CollectionBase) |
IList.IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah IList bersifat baca-saja. |
IList.IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah CollectionBase bersifat baca-saja. (Diperoleh dari CollectionBase) |
IList.Item[Int32] |
Mendapatkan atau mengatur elemen pada indeks yang ditentukan. |
IList.Item[Int32] |
Mendapatkan atau mengatur elemen pada indeks yang ditentukan. (Diperoleh dari CollectionBase) |
IList.Remove(Object) |
Menghapus kemunculan pertama objek tertentu dari IList. |
IList.Remove(Object) |
Menghapus kemunculan pertama objek tertentu dari CollectionBase. (Diperoleh dari CollectionBase) |
Metode Ekstensi
Cast<TResult>(IEnumerable) |
Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |