0
일부 Sybase DB 테이블로 대량 복사를 수행하는 프로그램이 있습니다. 그러나 롤백 트랜잭션이 작동하지 않습니다. 로직을 단계별로 실행할 때 문제는 트랜잭션 객체와 관련이있는 것처럼 보입니다. 나는 지금 패배하고있다. 어떤 충고라도 잘 될 것입니다.AseBulkCopy에서 C# 트랜잭션 오류가 발생했습니다.
Sybase.Data.AseClient.AseException :
이
은 내가 가진 오류 인 'CREATE TABLE'명령은 다중 문 트랜잭션 내에서 허용되지 않습니다 'tempdb'데이터베이스.public static void SqlBulkCopy() { try { conn.Open(); using (transaction = conn.BeginTransaction()) { using (bulkCopy = new AseBulkCopy(conn, AseBulkCopyOptions.Default, transaction)) { BulkCopying("DB_TABLE_1", dataTable1); BulkCopying("DB_TABLE_2", dataTable2); BulkCopying("DB_TABLE_3", dataTable3); transaction.Commit(); } } } catch (Exception ex) { throw ex; } finally { conn.Close(); } } private static void BulkCopying(string dbTableName, DataTable dtSourceName) { try { bulkCopy.BatchSize = 1000; bulkCopy.BulkCopyTimeout = 720; bulkCopy.NotifyAfter = 1000; bulkCopy.DestinationTableName = dbTableName; bulkCopy.WriteToServer(dtSourceName); } catch (Exception ex) { transaction.Rollback(); throw ex; } }