SqlBulkCopyColumnMappingCollection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
öğ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
Ö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. |