我使用SqlBulkCopy
針對具有不同列集的兩個SQL Server 2008(將一些數據從prod
服務器移動到dev
)。所以想跳過一些尚未存在/尚未刪除的列。跳過SqlBulkCopy中的一些列
我該怎麼做?一些技巧ColumnMappings
?
編輯:
我下一步:
DataTable table = new DataTable();
using (var adapter = new SqlDataAdapter(sourceCommand))
{
adapter.Fill(table);
}
table.Columns
.OfType<DataColumn>()
.ForEach(c => bulk.ColumnMappings.Add(
new SqlBulkCopyColumnMapping(c.ColumnName, c.ColumnName)));
bulk.WriteToServer(table)
,並得到:
給出的ColumnMapping不與源或目標的任何列匹配。
@abtishchev - 酷和可重複使用。我相信'stringTarget'和'stringSource'是列名稱,對吧? – xameeramir 2014-07-08 11:15:45
@student:hey,IIRC這些是分別連接到源數據庫和目標數據庫的字符串。 – abatishchev 2014-07-08 20:55:22
太棒了。我需要添加一些代碼來正確處理模式和數據庫名稱,但這正是我所需要的。 – 2016-08-16 13:52:07