我有以下代码使用 ADO.NET 中的 SqlBulkCopy 类在数据库中输入一些数据
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(DCISParameters.ConnectionString))
{
bulkCopy.DestinationTableName = "tbzErgoAnalytical";
bulkCopy.BatchSize = 250;
bulkCopy.ColumnMappings.Add("Column1", "fldESPA");
bulkCopy.ColumnMappings.Add("Column2", "fldEP");
bulkCopy.ColumnMappings.Add("Column13", "fldMISCode");
bulkCopy.WriteToServer(dbTable);
bulkCopy.SqlRowsCopied += bulkCopy_SqlRowsCopied;
}
dbTable 是一个 DataTable 对象,它作为方法的参数传递,它包含我从 excel 文件中获取的 7691 行。我已将批处理大小设置为 250。问题是 7500 (250 * 30) 行已正确传输到数据库,但随后我收到以下错误:“列‘fldMISCode’不允许 DBNull.Value。” 我 100% 确定 fldMISCode 中没有空值,我想在最后一次插入中我只剩下 191 行,这小于批量大小(不确定我的假设是否正确)。知道如何处理这个错误吗?提前致谢...