Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 具有多个OLE DB命令的SSIS事务_Sql Server_Ssis_Transactions - Fatal编程技术网

Sql server 具有多个OLE DB命令的SSIS事务

Sql server 具有多个OLE DB命令的SSIS事务,sql-server,ssis,transactions,Sql Server,Ssis,Transactions,我的SSIS包中有以下数据流任务: 它从外部供应商处读取一个文件,该供应商的记录中有一列“change”,其中包含a、C或D表示添加、更改和删除。我必须在我的SQL Server数据库中处理这些。条件拆分检查更改列的值,并将行发送到相应的命令。这个很好用 因为输入文件有时包含错误,所以我想让这个过程成为事务性的(有10个这样的数据流任务) 但是,如果在SSIS包上启用事务,OLE DB命令似乎会相互干扰(它们不会在同一行上操作)。我得到一个错误: Error: 2010-02-02 12:21

我的SSIS包中有以下数据流任务:

它从外部供应商处读取一个文件,该供应商的记录中有一列“change”,其中包含a、C或D表示添加、更改和删除。我必须在我的SQL Server数据库中处理这些。条件拆分检查更改列的值,并将行发送到相应的命令。这个很好用

因为输入文件有时包含错误,所以我想让这个过程成为事务性的(有10个这样的数据流任务)

但是,如果在SSIS包上启用事务,OLE DB命令似乎会相互干扰(它们不会在同一行上操作)。我得到一个错误:

Error: 2010-02-02 12:21:08.39
   Code: 0xC0202009
   Source: name OLE DB Command 1 [58]
   Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred.
 Error code: 0x80004005.
An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0
"  Hresult: 0x80004005  Description: "This operation conflicts with another pend
ing operation on this transaction. The operation failed.".
End Error
Error: 2010-02-02 12:21:08.39
   Code: 0xC004701A
   Source: name SSIS.Pipeline
   Description: component "OLE DB Command 1" (58) failed the pre-execute phase
 and returned error code 0xC0202009.
End Error
Progress: 2010-02-02 12:21:08.39
我尝试过条件拆分的任何顺序以及事务设置上的所有隔离级别,但似乎都不起作用。如果我只使用其中的一个分支进行条件拆分,它就可以正常工作。
如何继续?

SSIS太差了,让我尖叫-您应该在这里重新检查SSIS是否是正确的工具

尝试将SQL Server目标替换为插入的“OLEDB目标”