Как исправить ошибку, не позволяющую подключить базу данных Sybase к распределенной транзакции? - PullRequest
2 голосов
/ 02 октября 2008

Я очень мало знаю (возможно, ничего) о настройке Sybase, но я знаю, что SSIS испытывает проблемы с привлечением Sybase в распределенную транзакцию. Кто-нибудь смог сделать эту работу?

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

Это происходит, когда я изменяю TransactionOption пакета на Обязательный. Когда я возвращаюсь к значению по умолчанию «Поддерживается», пакет запускается без ошибок (хотя и не является потокобезопасным).

1 Ответ

2 голосов
/ 20 января 2009

У меня была такая же проблема, когда я пытался создать транзакцию на основе чтения из Gupta SQLBase. По сути, кажется, что SSIS (по крайней мере, с 2005 года) не может регистрировать других провайдеров в транзакции как часть пакета. Я несколько раз безуспешно пытался, и обычно я просто считывал данные из моей OLEDB во временную таблицу, а затем создавал транзакцию вокруг импорта этих данных в место покоя в SQL Server. Однако это сторона чтения - если вы пытаетесь использовать транзакцию для записи в SYBASE, вам нужно что-то делать на этой стороне - SSIS не сможет использовать транзакцию для передачи данных другому поставщику.

Кроме того, я даже не хотел, чтобы моя транзакция распространялась на Gupta - я только хотел зарегистрировать свой INSERT / UPDATE на стороне SQL Server в транзакции, чтобы запретить пользователям читать частично обновленные данные, но Служба SSIS отказалась разрешить мне включать процесс в транзакцию, потому что Гупта не поддерживал ее. Похоже, что нет поддержки транзакций только на определенных провайдерах или только на стороне «записи» процесса, но не на стороне «чтения».

...