データベース間でデータを転送しようとしています (MsSQL Server から MySQL へ)。ソース データベースには ~2700 のレコードがあります。そして、プログラムを実行すると、400〜600レコードごとにVSが例外をスローします。
リーダーが閉じているときに IsDBNull を呼び出す試みは無効です。
コード:
foreach (var product in products)
{
var prd = product;
var cmd = connection.CreateCommand();
cmd.CommandText =
"INSERT INTO Product(CategoryID, Position, PresentItemID, Guid, ThumbX, ThumbY, " +
"ImgX, ImgY, Name, Description, IsAvailable, TotalStock, Price, ListPrice, Size, " +
"meta_tag, desc_tag, page_metatags, FreeDescription, IsVintage, OnSale, Valentine)" +
"VALUES(@CategoryID, @Position, @PresentItemID, @Guid, @ThumbX, @ThumbY, " +
"@ImgX, @ImgY, @Name, @Description, @IsAvailable, @TotalStock, @Price, @ListPrice, @Size, " +
"@meta_tag, @desc_tag, @page_metatags, @FreeDescription, @IsVintage, @OnSale, @Valentine)";
cmd.Parameters.AddWithValue("@CategoryID", prd.CategoryID);
cmd.Parameters.AddWithValue("@Position", prd.Position);
cmd.Parameters.AddWithValue("@PresentItemID", prd.PresentItemID);
cmd.Parameters.AddWithValue("@Guid", prd.Guid);
...
cmd.Parameters.AddWithValue("@IsVintage", prd.IsVintage);
cmd.Parameters.AddWithValue("@OnSale", prd.OnSale);
cmd.Parameters.AddWithValue("@Valentine", prd.Valentine);
cmd.ExecuteNonQuery();
progressBar1.PerformStep();
}
このコードを追加しようとしました
List<Product> prd = products.ToList();
データベースから直接ではなく、リストからデータを転送しますが、同じエラーが発生しました。
手伝ってくれてありがとう。