벌크 사본을위한 롤백
-
19-09-2019 - |
문제
C#의 Bulk Copy Class로 데이터베이스에서 사본을 작성하는 응용 프로그램이 있습니다.
예외가 발생할 때 SQL Server에서 벌크 복사 작업을 롤백 할 수 있습니까?
해결책
MSDN 기사 : 트랜잭션에서 대량 복사 작업을 수행합니다 또는 새로운 문서 : 거래 및 대량 복사 작업 | 마이크로 소프트 문서
using (SqlTransaction transaction = destinationConnection.BeginTransaction())
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy( destinationConnection, SqlBulkCopyOptions.KeepIdentity, transaction))
{
bulkCopy.BatchSize = 10;
bulkCopy.DestinationTableName = "dbo.BulkCopyDemoMatchingColumns";
try
{
bulkCopy.WriteToServer(reader);
transaction.Commit();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
transaction.Rollback();
}
finally
{
reader.Close();
}
}
}
제휴하지 않습니다 StackOverflow