我試圖在數據庫之間傳輸數據(從MsSQL服務器到MySQL)。源數據庫有~2700條記錄。當IM執行的程序,每一個400-600紀錄VS拋出異常:從MsSQL傳輸到MySQL錯誤
無效試圖調用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();
和傳輸數據,而不是直接的,但有同樣的錯誤。
感謝您的幫助。
Command對象確實實現了IDisposable,因此您可以在使用塊中引用[SqlCommand](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx)可以幫助 – 2013-03-16 05:04:14
得到相同的錯誤。 – Utamaru 2013-03-18 11:57:41