Bagikan melalui


SqlBulkCopyColumnMappingCollection Kelas

Definisi

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
SqlBulkCopyColumnMappingCollection
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.

Berlaku untuk

Lihat juga