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는 합법적입니까? 예, 이유를 알아보십시오.