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 に null 値がないことは 100% 確信しており、最後の挿入ではバッチ サイズよりも少ない 191 行しか残っていないと思います (私の仮定が正しいかどうかはわかりません)。このエラーに対処する方法はありますか? 前もって感謝します...