WriteToServer:尚未初始化Connection属性。 sqlbulkcopy错误

时间:2010-01-14 01:36:17

标签: 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();
}

1 个答案:

答案 0 :(得分:1)

我一眼就会猜到第一次通过foreach循环正确执行,然后s.Close();正在清理SqlBulkCopy实例并清除其Connection属性,从而在第二次传递中创建例外。