我需要带有 SQLBulkcopy 的进度条
I need progressbar with SQLBulkcopy
我的申请需要进度条。我正在通过文本文件将数据上传到 SQL 服务器,但这需要很多时间,而且我还使用了后台工作人员来完成相同的工作,但工作不正常,所以我只需要知道有什么方法可以使用进度条使用 SQL 批量复制,它告诉我插入了 2000 条记录?
这是我的代码:
public void bulkinsert(string tablename, DataTable dt)
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlBulkCopy blkcopy = new SqlBulkCopy(con);
blkcopy.DestinationTableName = tablename;
blkcopy.BatchSize = dt.Rows.Count;
blkcopy.BulkCopyTimeout = 1500;
blkcopy.WriteToServer(dt);
blkcopy.Close();
}
非常感谢您的回复。
您需要处理 SqlBulkCopy.SqlRowsCopied 事件
Occurs every time that the number of rows specified by the NotifyAfter
property have been processed.
我也会使用 Async Await 并使用 Progress<T>
而不是后台 worker
我的申请需要进度条。我正在通过文本文件将数据上传到 SQL 服务器,但这需要很多时间,而且我还使用了后台工作人员来完成相同的工作,但工作不正常,所以我只需要知道有什么方法可以使用进度条使用 SQL 批量复制,它告诉我插入了 2000 条记录? 这是我的代码:
public void bulkinsert(string tablename, DataTable dt)
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlBulkCopy blkcopy = new SqlBulkCopy(con);
blkcopy.DestinationTableName = tablename;
blkcopy.BatchSize = dt.Rows.Count;
blkcopy.BulkCopyTimeout = 1500;
blkcopy.WriteToServer(dt);
blkcopy.Close();
}
非常感谢您的回复。
您需要处理 SqlBulkCopy.SqlRowsCopied 事件
Occurs every time that the number of rows specified by the NotifyAfter property have been processed.
我也会使用 Async Await 并使用 Progress<T>
而不是后台 worker