私のアプリケーションにはプログレスバーが必要です。 SQL Serverにテキストファイルを使用してデータをアップロードしていますが、時間がかかり、バックグラウンドワーカーも同じに使用していますが、正しく動作しないため、SQLバルクコピーでプログレスバーを使用できる方法はありますか2000レコードが挿入されていると私に伝えます。私は本当にあなたの回答に感謝SQLBulkcopyでプログレスバーが必要
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();
}
: はここに私のコードです。
を使用することになり、私は、ユーザーがそれが何かをやって知らせ、多分タイマーで、この場合にはロードホイールを使用してお勧めします。それ以外の場合、プログレスバーの精度は恐ろしいものになり、ユーザーは99%で固まってしまえば間違っていると思うでしょう。 < - マイクロソフトは、これをすべて時間通りに行うために使用されていました。 – FirebladeDan
SqlBulkCopyクラスのNotifyAfterプロパティを使用して通知しきい値を指定し、SqlRowsCopiedイベントをキャッチしてプログレスバーを更新します。参照してください:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy(v=vs.110).aspx – Kevin