2

我对 Sybase 设置知之甚少(可以说一无所知),但我知道 SSIS 在将 Sybase 纳入分布式事务时遇到了麻烦。有没有人能够完成这项工作?

The SSIS Runtime has failed to enlist the OLE DB connection in a 
distributed transaction with error 0x80004005 "Unspecified error".

当我将包的 TransactionOption 更改为必需时,就会发生这种情况。当我恢复到默认的“支持”时,包运行没有错误(尽管不是线程安全的)。

4

1 回答 1

2

当我尝试围绕从 Gupta SQLBase 的读取创建事务时,我遇到了同样的问题。基本上,似乎 SSIS(至少从 2005 年起)无法将任何其他提供者注册为交易包的一部分。我试过几次都没有运气,通常我只是最终将数据从我的 OLEDB 读取到一个临时表中,然后围绕将该数据导入 SQL Server 中的休息位置创建一个事务。不过,那是读取端 - 如果您尝试使用事务写入 SYBASE,则需要在该端执行一些操作 - SSIS 将无法使用事务将数据推送到另一个提供程序。

除此之外,我什至不希望我的事务扩展到 Gupta - 我只想在 SQL Server 端注册我的 INSERT/UPDATE 事务,以阻止用户读取半更新的数据,但 SSIS 拒绝允许我将这个过程包装在一个事务中,因为 Gupta 不支持它。似乎仅在某些提供程序上不支持事务,或者仅在流程的“写入”端而不在“读取”端。

于 2009-01-19T21:30:59.857 回答