我需要带有 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