Мне нужен индикатор выполнения для моего приложения. Я загружаю данные через текстовый файл в SQL Server, но это занимает много времени, а также я использовал фона рабочего для того же самого, но это не работает должным образом, поэтому мне просто нужно знать, есть ли способ, которым я могу использовать индикатор выполнения с SQL Bulk Copy и это говорит мне, что 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>
вместо фонового работника