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 を Required に変更したときに発生します。デフォルトの「サポート」に戻すと、パッケージはエラーなしで実行されます (ただし、スレッドセーフではありません)。

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 に答える