BulkInsert 이전에 업데이트가 실행 중입니다.

bulkinsert sqlbulkcopy sql-server vb.net

문제

빠른 처리를 위해 sqlCopy를 사용하여 일부 레코드를 삽입하는 프로그램을 작성한 다음 새로 삽입 된 레코드를 기반으로 [다른 테이블에서] 명령문을 실행하고 갱신합니다.

문제는 업데이트가 거의 항상 삽입 전에 실행된다는 것입니다! [약 2 초 전에 .. 삽입 및 업데이트 행의 타임 스탬프에 따르면.] 삽입 후 코드가 2-3 초 동안 잠자기 상태가되도록 업데이트를 수행 할 수있는 유일한 방법은 더 좋습니까? 코드가 계속되기 전에 삽입이 완료되었는지 확인하는 방법?

나는 RowsCopied 이벤트를 캡쳐하기도하고, 행은 즉시 '업데이트'전에 복사됩니다. 그러나 데이터베이스에서 업데이 트가 일찍옵니다.

     bulkCopy.WriteToServer(table)

     Dim Sql = "Update tbl Set Total = (select sum(qty) from Inserttbl where inId = ID)"
     ExecuteSQL(Sql)

수락 된 답변

문제가 발견되었습니다 ... 삽입 타임 스탬프는 클라이언트에서 제공 한 반면, 업데이트 타임 스탬프는 서버에서 가져온 것입니다. 클라이언트 시간은 서버 시간보다 2 초 더 빠릅니다.

나는 둘 다 서버 getDate 함수를 사용해야한다고 바꿨다. 문제 해결됨.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.