SqlBulkCopyColumnMappingCollection Sınıf

Tanım

öğesinden SqlBulkCopyColumnMappingCollectionBasedevralan nesnelerin koleksiyonu.

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

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodaki verileri aynı veritabanındaki hedef tabloya toplu olarak kopyalar. Hedefteki sütun sayısı kaynaktaki sütun sayısıyla eşleşse de, sütun adları ve sıra konumları eşleşmez. SqlBulkCopyColumnMappingtoplu kopya için SqlBulkCopy sütun eşlemesi oluşturmak üzere nesnesine eklenirSqlBulkCopyColumnMappingCollection.

Important

Bu örnek, Toplu Kopyalama Örneği Kurulumubölümünde açıklandığı gibi çalışma tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy'yi kullanmaya yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, verileri kopyalamak için Transact-SQL INSERT ... SELECT deyimi kullanmak daha kolay ve daha hızlıdır.

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

Açıklamalar

Sütun eşlemeleri, veri kaynağı ile hedef tablo arasındaki eşlemeyi tanımlar.

Eşlemeler tanımlanmamışsa , yani koleksiyon ColumnMappings boşsa, sütunlar sıralı konuma göre örtük olarak eşlenir. Bunun çalışması için kaynak ve hedef şemaların eşleşmesi gerekir. Eğer yapmazlarsa, bir InvalidOperationException atılır.

ColumnMappings Koleksiyon boş değilse, veri kaynağında mevcut olan her sütunun belirtilmesine gerek yoktur. Koleksiyon tarafından eşlenmeyenler yoksayılır.

Kaynak ve hedef sütunlara adına veya sırasına göre başvurabilirsiniz. Aynı eşleme koleksiyonunda ada ve sıralı sütun başvurularını karıştırabilirsiniz.

Özellikler

Name Description
Capacity

öğesinin içerebileceği öğe CollectionBase sayısını alır veya ayarlar.

(Devralındığı yer: CollectionBase)
Count

Örnekte bulunan CollectionBase öğe sayısını alır. Bu özellik geçersiz kılınamaz.

(Devralındığı yer: CollectionBase)
InnerList

Örnekteki öğelerin ArrayList listesini içeren bir CollectionBase alır.

(Devralındığı yer: CollectionBase)
Item[Int32]

SqlBulkCopyColumnMapping Nesneyi belirtilen dizinde alır.

List

Örnekteki öğelerin IList listesini içeren bir CollectionBase alır.

(Devralındığı yer: CollectionBase)

Yöntemler

Name Description
Add(Int32, Int32)

Hem kaynak hem de hedef sütunları belirtmek için sıraları kullanarak yeni SqlBulkCopyColumnMapping bir oluşturur ve koleksiyona ekler.

Add(Int32, String)

Kaynak sütun için bir sıra ve hedef sütun için bir dize kullanarak yeni SqlBulkCopyColumnMapping bir oluşturur ve koleksiyona ekler.

Add(SqlBulkCopyColumnMapping)

Belirtilen eşlemeyi öğesine SqlBulkCopyColumnMappingCollectionekler.

Add(String, Int32)

Kaynak sütunu açıklamak için bir sütun adı ve hedef sütunu belirtmek için bir sıra kullanarak yeni SqlBulkCopyColumnMapping bir oluşturur ve koleksiyona ekler.

Add(String, String)

Hem kaynak hem de hedef sütunları belirtmek için sütun adlarını kullanarak yeni SqlBulkCopyColumnMapping bir oluşturur ve koleksiyona ekler.

Clear()

Koleksiyonun içeriğini temizler.

Contains(SqlBulkCopyColumnMapping)

Belirtilen SqlBulkCopyColumnMapping bir nesnenin koleksiyonda var olup olmadığını gösteren bir değer alır.

CopyTo(SqlBulkCopyColumnMapping[], Int32)

öğesinin SqlBulkCopyColumnMappingCollection öğelerini belirli bir dizinden başlayarak bir öğe dizisine SqlBulkCopyColumnMapping kopyalar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetEnumerator()

Örnekte yineleyen CollectionBase bir numaralandırıcı döndürür.

(Devralındığı yer: CollectionBase)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
IndexOf(SqlBulkCopyColumnMapping)

Belirtilen SqlBulkCopyColumnMapping nesnesinin dizinini alır.

Insert(Int32, SqlBulkCopyColumnMapping)

Belirtilen dizine yeni SqlBulkCopyColumnMapping bir ekleyin.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnClear()

Örneğin içeriğini CollectionBase temizlerken ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnClearComplete()

Örneğin içeriğini CollectionBase temizledikten sonra ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnInsert(Int32, Object)

Örneğe yeni bir öğe CollectionBase eklemeden önce ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnInsertComplete(Int32, Object)

Örneğe yeni bir öğe CollectionBase ekledikten sonra ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnRemove(Int32, Object)

Bir öğeyi örnekten CollectionBase kaldırırken ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnRemoveComplete(Int32, Object)

Bir öğeyi örnekten CollectionBase kaldırdıktan sonra ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnSet(Int32, Object, Object)

Örnekte bir değer CollectionBase ayarlamadan önce ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnSetComplete(Int32, Object, Object)

Örnekte bir değer CollectionBase ayarladıktan sonra ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
OnValidate(Object)

Bir değeri doğrularken ek özel işlemler gerçekleştirir.

(Devralındığı yer: CollectionBase)
Remove(SqlBulkCopyColumnMapping)

Belirtilen SqlBulkCopyColumnMapping öğeyi öğesinden SqlBulkCopyColumnMappingCollectionkaldırır.

RemoveAt(Int32)

Belirtilen dizindeki eşlemeyi koleksiyondan kaldırır.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
ICollection.CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını CollectionBase uyumlu bir tek boyutluya Arraykopyalar.

(Devralındığı yer: CollectionBase)
ICollection.IsSynchronized

CollectionBase erişimin eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

(Devralındığı yer: CollectionBase)
ICollection.SyncRoot

CollectionBaseerişimini eşitlemek için kullanılabilecek bir nesnesi alır.

(Devralındığı yer: CollectionBase)
IList.Add(Object)

sonuna bir nesne CollectionBaseekler.

(Devralındığı yer: CollectionBase)
IList.Contains(Object)

öğesinin CollectionBase belirli bir öğe içerip içermediğini belirler.

(Devralındığı yer: CollectionBase)
IList.IndexOf(Object)

Belirtilen Object öğesini arar ve içindeki CollectionBaseilk oluşumun sıfır tabanlı dizinini döndürür.

(Devralındığı yer: CollectionBase)
IList.Insert(Int32, Object)

Belirtilen dizinde öğesine CollectionBase bir öğe ekler.

(Devralındığı yer: CollectionBase)
IList.IsFixedSize

değerinin sabit bir boyuta sahip olup olmadığını CollectionBase belirten bir değer alır.

(Devralındığı yer: CollectionBase)
IList.IsReadOnly

öğesinin salt okunur olup olmadığını CollectionBase belirten bir değer alır.

(Devralındığı yer: CollectionBase)
IList.Item[Int32]

Belirtilen dizinde öğesini alır veya ayarlar.

(Devralındığı yer: CollectionBase)
IList.Remove(Object)

Belirli bir nesnenin ilk oluşumunu öğesinden CollectionBasekaldırır.

(Devralındığı yer: CollectionBase)

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesine IQueryabledönüştürür.

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe yazar.

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır

Ayrıca bkz.