본문 바로가기
[ Program ]/C#

Rollback for bulk copy (트랜젝션걸린 대량인서트)

by 관이119 2014. 11. 14.

 

출처 - http://stackoverflow.com/questions/2216254/rollback-for-bulk-copy

 

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();
       
}
   
}
}

댓글