回滚事务在 SSIS 中不起作用
Rollback Transaction not working in SSIS
我的 SSIS 包中的 ForEach 循环内有以下序列容器:
我正忙于测试 ROLLBACK TRANSACTION 语句,它执行得很好,但没有回滚。
不确定我是否遗漏了什么?
提前致谢。
编辑:
我的序列容器中的数据流是这样的:
我采取了另一种方法来确保我的故障转移有效。我所做的是我在我的 tables 中添加了一列,它将存储一个 GUID,当出现错误时,我只是从 tables 中删除记录,其中该 GUID 等于所使用的那个在那 session。我在我的 select 语句中添加了我的 ForEach 容器将使用的 GUID,然后将其写入 table.
SELECT
ReconMedicalAidFile.fReconMedicalAidFileID
,ReconMedicalAidFile.fReconMedicalAidID
,ReconMedicalAids.fMedicalAidID
,ReconMedicalAidFile.fFileName
,ReconMedicalAidFile.fFileLocation
,ReconMedicalAidFile.fFileImportedDate
,ReconMedicalAidFile.fNumberRecords
,ReconMedicalAidFile.fUser
,ReconMedicalAidFile.fIsImported
,CONVERT(varchar(50),NEWID()) AS 'Session'
FROM ReconMedicalAidFile
INNER JOIN ReconMedicalAids ON ReconMedicalAidFile.fReconMedicalAidID = ReconMedicalAids.fReconMedicalAidID
WHERE (fIsImported = 0) AND (fNumberRecords = 0)
我在脚本任务中添加了这段代码,它将映射上面的 selected GUID:
DELETE FROM BankmedStatments
WHERE fSession = ?
DELETE FROM ReconMedicalAidData
WHERE fSession = ?
我的 SSIS 包中的 ForEach 循环内有以下序列容器:
我正忙于测试 ROLLBACK TRANSACTION 语句,它执行得很好,但没有回滚。
不确定我是否遗漏了什么?
提前致谢。
编辑:
我的序列容器中的数据流是这样的:
我采取了另一种方法来确保我的故障转移有效。我所做的是我在我的 tables 中添加了一列,它将存储一个 GUID,当出现错误时,我只是从 tables 中删除记录,其中该 GUID 等于所使用的那个在那 session。我在我的 select 语句中添加了我的 ForEach 容器将使用的 GUID,然后将其写入 table.
SELECT
ReconMedicalAidFile.fReconMedicalAidFileID
,ReconMedicalAidFile.fReconMedicalAidID
,ReconMedicalAids.fMedicalAidID
,ReconMedicalAidFile.fFileName
,ReconMedicalAidFile.fFileLocation
,ReconMedicalAidFile.fFileImportedDate
,ReconMedicalAidFile.fNumberRecords
,ReconMedicalAidFile.fUser
,ReconMedicalAidFile.fIsImported
,CONVERT(varchar(50),NEWID()) AS 'Session'
FROM ReconMedicalAidFile
INNER JOIN ReconMedicalAids ON ReconMedicalAidFile.fReconMedicalAidID = ReconMedicalAids.fReconMedicalAidID
WHERE (fIsImported = 0) AND (fNumberRecords = 0)
我在脚本任务中添加了这段代码,它将映射上面的 selected GUID:
DELETE FROM BankmedStatments
WHERE fSession = ?
DELETE FROM ReconMedicalAidData
WHERE fSession = ?