SqlBulkCopy sqlBulk = new SqlBulkCopy(conn, SqlBulkCopyOptions.KeepIdentity, t);
sqlBulk.DestinationTableName = DestTableName;
sqlBulk.BatchSize = 1000;
sqlBulk.WriteToServer(dt);
t.Commit();
如果我分配了我的标识列值并且如果我没有分配它,则会出现错误“主键不允许空白”列 - 该怎么办?
答案 0 :(得分:0)
请阅读以下内容:
http://www.4guysfromrolla.com/articles/102109-1.aspx
OR
using (var bulkCopy = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString, SqlBulkCopyOptions.KeepNulls & SqlBulkCopyOptions.KeepIdentity))
{
bulkCopy.BatchSize = (int)DetailLines;
bulkCopy.DestinationTableName = "dbo.myTable";
bulkCopy.ColumnMappings.Clear();
bulkCopy.ColumnMappings.Add("SourceColumnName", "DestinationColumnName");
bulkCopy.ColumnMappings.Add("SourceColumnName", "DestinationColumnName");
bulkCopy.WriteToServer(datatable);
}