Aracılığıyla paylaş


SqlBulkCopyColumnMappingCollection Sınıf

Tanım

'den SqlBulkCopyColumnMappingCollectionBasedevralan nesnelerin koleksiyonu.

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

Örnekler

Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodan aynı veritabanındaki hedef tabloya verileri 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 kopyalama için sütun eşlemesi SqlBulkCopy oluşturmak üzere nesnesine eklenirSqlBulkCopyColumnMappingCollection.

Önemli

Bu örnek, Toplu Kopyalama Örneği Kurulumu'nda açıklandığı gibi iş tablolarını oluşturmadığınız sürece çalışmaz. Bu kod, yalnızca SqlBulkCopy kullanımına yönelik söz dizimini göstermek için sağlanır. Kaynak ve hedef tablolar aynı SQL Server örneğindeyse, transact-SQL INSERT ... SELECT deyimini kullanarak verileri kopyalamak 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 ColumnMappings koleksiyon 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. Aksi takdirde, bir InvalidOperationException atılır.

ColumnMappings Koleksiyon boş değilse, veri kaynağında bulunan her sütunun belirtilmesi gerekli değildir. Koleksiyon tarafından eşlenmeyenler yoksayılır.

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

Özellikler

Capacity

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

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

SqlBulkCopyColumnMappingCollection içindeki öğe sayısını alır.

Count

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

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

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

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

SqlBulkCopyColumnMapping Belirtilen dizindeki nesneyi alır.

List

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

(Devralındığı yer: CollectionBase)

Yöntemler

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 bunu 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 bunu 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ı belirten bir değer alır.

CopyTo(SqlBulkCopyColumnMapping[], Int32)

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

Equals(Object)

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

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

Bir toplulukta tekrarlanan bir numaralandırıcı döndürür.

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()

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

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

Belirtilen SqlBulkCopyColumnMapping nesnenin dizinini alır.

Insert(Int32, SqlBulkCopyColumnMapping)

Belirtilen dizine yeni SqlBulkCopyColumnMapping bir ekleyin.

MemberwiseClone()

Geçerli Objectöğesinin sığ 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 dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

öğesinin ICollection öğelerini belirli Array bir dizinden başlayarak öğesine Arraykopyalar.

ICollection.CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını CollectionBase uyumlu bir tek boyutlu Arrayöğesine kopyalar.

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

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

ICollection.IsSynchronized

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

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

erişimi ICollectioneşitlemek için kullanılabilecek bir nesnesi alır.

ICollection.SyncRoot

erişimi CollectionBaseeşitlemek için kullanılabilecek bir nesnesi alır.

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

öğesine bir öğe IListekler.

IList.Add(Object)

sonuna bir nesnesi CollectionBaseekler.

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

öğesinin IList belirli bir değer içerip içermediğini belirler.

IList.Contains(Object)

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

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

içindeki belirli bir öğenin dizinini IListbelirler.

IList.IndexOf(Object)

Belirtilen Object öğesini arar ve tüm CollectionBaseiçindeki ilk oluşumun sıfır tabanlı dizinini döndürür.

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

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

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ı IList belirten bir değer alır.

IList.IsFixedSize

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

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

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

IList.IsReadOnly

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

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

Belirtilen dizindeki öğeyi alır veya ayarlar.

IList.Item[Int32]

Belirtilen dizindeki öğeyi alır veya ayarlar.

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

belirli bir nesnenin ilk oluşumunu öğesinden IListkaldırır.

IList.Remove(Object)

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

(Devralındığı yer: CollectionBase)

Uzantı Metotları

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

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

Şunlara uygulanır

Ayrıca bkz.