我的SSIS包中的ForEach循环中有以下Sequence Container:
我正忙着测试 ROLLBACK TRANSACTION 语句,它执行正常,但不会回滚。
不确定我是否遗漏了什么?
提前致谢。
编辑:
这是数据流在我的序列容器中的样子:
答案 0 :(得分:0)
我采取了另一种方式来确保我的故障转移工作。我做的是我在我的表中添加了一个列,它将存储一个GUID,当出现错误时,我只删除表中的记录,其中GUID等于该会话中使用的那个GUID。我在我的ForEach容器将使用的select语句中添加了GUID,然后将其写入表中。
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)
我在脚本任务中添加了此代码,该代码将映射上面选定的GUID:
DELETE FROM BankmedStatments
WHERE fSession = ?
DELETE FROM ReconMedicalAidData
WHERE fSession = ?