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