SSIS包中的回滚和提交事务问题

SSIS包中的回滚和提交事务问题,ssis,commit,rollback,Ssis,Commit,Rollback,我正在尝试在SSIS包中执行回滚和提交事务。提交事务工作正常。对于回滚事务,我在数据类型为money的列中插入了null值。这里我在DFT和COMMIT SQLtask中得到一个错误。请给我一个解决方案 我将ControlFlow属性-->TransactionRequired更改为Required 在DFT事务中需要-->支持 请帮助我的朋友 提前谢谢 错误如下所示 [Execute SQL Task]错误:执行查询“Rollback tran”失败,出现以下错误:“分布式事务已完成。请在新事

我正在尝试在
SSIS包中执行
回滚和提交
事务。提交事务工作正常。对于回滚事务,我在数据类型为money的列中插入了null值。这里我在DFT和COMMIT SQLtask中得到一个错误。请给我一个解决方案

我将
ControlFlow属性-->TransactionRequired
更改为Required

DFT事务中需要-->支持

请帮助我的朋友 提前谢谢

错误如下所示

[Execute SQL Task]错误:执行查询“Rollback tran”失败,出现以下错误:“分布式事务已完成。请在新事务或空事务中登记此会话。”。可能的失败原因:查询问题、“ResultSet”属性设置不正确、参数设置不正确或连接建立不正确

[OLE DB Destination[2]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。 OLE DB记录可用。来源:“Microsoft SQL Server本机客户端11.0”Hresult:0x80040E21说明:“多步骤OLE DB操作生成错误。请检查每个OLE DB状态值(如果可用)。未完成任何工作。”

[OLE DB Destination[2]]错误:OLE DB Destination.Inputs[OLE DB Destination Input]出错。OLE DB Destination.Inputs[OLE DB Destination Input]上的[CustomerMount]列。Inputs[OLE DB Destination Input]。返回的列状态为:“该值违反了该列的完整性约束。”

[OLE DB Destination[2]]错误:SSIS错误代码DTS_E_诱导的传输失败错误。“OLE DB Destination.Inputs[OLE DB Destination Input]”失败,因为发生了错误代码0xC020907D,“OLE DB Destination.Inputs[OLE DB Destination Input]”上的错误行处理指定错误时失败。指定组件的指定对象上发生错误。在此之前可能会发布错误消息,其中包含有关故障的更多信息

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。组件“OLE DB Destination”(2)上的ProcessInput方法在处理输入“OLE DB Destination input”(15)时失败,错误代码为0xC0209029。标识的组件从ProcessInput方法返回错误。该错误特定于组件,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关故障的更多信息


SSI和事务处理缺少两种方法。如果您正在使用SSIS本机事务(设置TransactionRequired=Required),则无需调用
回滚。如果发生错误或您故意设置错误,事务将自动回滚。对概念很重要的一点是事务范围,即它将在何时提交。我的建议-在专用序列容器上声明事务;事务将在离开此序列容器时提交。

如果要将事务处理与SQLCommitRollback一起使用,则不使用TransactionRequired=Required。这是MS SQL的特例,有关详细信息,请参阅和。

谢谢Ferdipux