WriteToServer:尚未初始化Connection屬性。 sqlbulkcopy錯誤

c# sqlbulkcopy

在c#中運行sqlbulkcopy,我收到一個錯誤:WriteToServer:Connection屬性尚未初始化。

它發生在WriteToServer命令。連接已打開。

using (SqlBulkCopy s = new SqlBulkCopy(conn))
{
  foreach (DataTable dt in ds.Tables)
  {

    s.DestinationTableName = "tmp_" + dt.TableName;
    s.NotifyAfter = 5000;
    s.SqlRowsCopied += new SqlRowsCopiedEventHandler(s_SqlRowsCopied);
    s.WriteToServer(dt);
    s.Close();
  }
}

正確的代碼:

using (SqlBulkCopy s = new SqlBulkCopy(conn))
{
  foreach (DataTable dt in ds.Tables)
  {
    s.DestinationTableName = "tmp_" + dt.TableName;
    s.NotifyAfter = 5000;
    s.SqlRowsCopied += new SqlRowsCopiedEventHandler(s_SqlRowsCopied);
    s.WriteToServer(dt);
  }
  s.Close();
}

一般承認的答案

一眼就可以看出,第一次通過foreach循環正確執行,然後是s.Close();正在清理SqlBulkCopy實例並清除其Connection屬性,從而在第二次傳遞時創建異常。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow