SQLBulkcopyでプログレスバーが必要です

c# progress-bar sqlbulkcopy

質問

私は自分のアプリケーションの進捗バーが必要です。 SQL Serverにテキストファイルを使用してデータをアップロードしていますが、時間がかかり、バックグラウンドワーカーも同じに使用していますが、正しく動作しないため、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イベントを処理する必要があります。

NotifyAfterプロパティで指定された行数が処理されるたびに発生します。

Async Awaitを使用し、バックグラウンドワーカーの代わりにProgress<T>を使用する



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ