我正在使用
SqlBulkCopy
将两个具有不同列集的 SQL Server 2008 进行比较(将一些数据从prod
服务器移动到dev
)。因此,我想跳过一些尚不存在/未删除的列。如何做到这一点?可以使用 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与源或目标中的任何列不匹配。