SqlBulkCopyColumnOrderHintCollection.Add Yöntem
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.
Aşırı Yüklemeler
| Add(SqlBulkCopyColumnOrderHint) |
Belirtilen sipariş ipucunu öğesine SqlBulkCopyColumnOrderHintCollectionekler. |
| Add(String, SortOrder) |
Yeni SqlBulkCopyColumnOrderHint bir oluşturur ve koleksiyona ekler. |
Add(SqlBulkCopyColumnOrderHint)
Belirtilen sipariş ipucunu öğesine SqlBulkCopyColumnOrderHintCollectionekler.
public:
Microsoft::Data::SqlClient::SqlBulkCopyColumnOrderHint ^ Add(Microsoft::Data::SqlClient::SqlBulkCopyColumnOrderHint ^ columnOrderHint);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnOrderHint Add (Microsoft.Data.SqlClient.SqlBulkCopyColumnOrderHint columnOrderHint);
member this.Add : Microsoft.Data.SqlClient.SqlBulkCopyColumnOrderHint -> Microsoft.Data.SqlClient.SqlBulkCopyColumnOrderHint
Public Function Add (columnOrderHint As SqlBulkCopyColumnOrderHint) As SqlBulkCopyColumnOrderHint
Parametreler
- columnOrderHint
- SqlBulkCopyColumnOrderHint
SqlBulkCopyColumnOrderHint Koleksiyona eklenecek sipariş ipucunu açıklayan nesne.
Döndürülenler
Bir SqlBulkCopyColumnOrderHint nesnesi.
Özel durumlar
Değer null.
Örnekler
Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodan aynı veritabanındaki hedef tabloya verileri toplu olarak kopyalar. ProductNumber hedef sütununun sıralama düzenini tanımlamak için bir SqlBulkCopyColumnOrderHint nesnesi kullanılır.
Ö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.
// <Snippet1>
using System;
using System.Data;
using Microsoft.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.BulkCopyDemoMatchingColumns;",
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.BulkCopyDemoMatchingColumns";
// Specify the sort order for the ProductNumber column in
// the destination table.
// Setup an order hint for the ProductNumber column.
SqlBulkCopyColumnOrderHint hintNumber =
new SqlBulkCopyColumnOrderHint("ProductNumber", SortOrder.Ascending);
bulkCopy.ColumnOrderHints.Add(hintNumber);
// 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;";
}
}
// </Snippet1>
Şunlara uygulanır
Add(String, SortOrder)
Yeni SqlBulkCopyColumnOrderHint bir oluşturur ve koleksiyona ekler.
public:
Microsoft::Data::SqlClient::SqlBulkCopyColumnOrderHint ^ Add(System::String ^ column, Microsoft::Data::SqlClient::SortOrder sortOrder);
public Microsoft.Data.SqlClient.SqlBulkCopyColumnOrderHint Add (string column, Microsoft.Data.SqlClient.SortOrder sortOrder);
member this.Add : string * Microsoft.Data.SqlClient.SortOrder -> Microsoft.Data.SqlClient.SqlBulkCopyColumnOrderHint
Public Function Add (column As String, sortOrder As SortOrder) As SqlBulkCopyColumnOrderHint
Parametreler
- column
- String
Hedef tablodaki hedef sütunun adı.
- sortOrder
- SortOrder
İlgili hedef sütunun sıralama düzeni.
Döndürülenler
Sütun sütun sırası ipucu.
Örnekler
Aşağıdaki örnek , AdventureWorks örnek veritabanındaki bir kaynak tablodan aynı veritabanındaki hedef tabloya verileri toplu olarak kopyalar. Hedef sütun adı ve sıralama düzeni sağlanarak öğesine ColumnOrderHints bir SqlBulkCopyColumnOrderHint nesnesi eklenir.
Ö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;
using System.Data;
using Microsoft.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.BulkCopyDemoMatchingColumns;",
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.BulkCopyDemoMatchingColumns";
// Specify the sort order for the ProductNumber column in
// the destination table.
bulkCopy.ColumnOrderHints.Add("ProductNumber", SortOrder.Ascending);
// 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;";
}
}