Обновление оператора Oracle до сбоя в задаче SSIS «Выполнение SQL» - PullRequest
0 голосов
/ 28 октября 2011

Мне нужно выполнить некоторые инструкции Update из SSIS в Oracle, которые я не могу поместить в сохраненный Proc.Этот оператор работает нормально в Oracle, но я получаю ошибку при выполнении из SSIS.Я использую задачу «Выполнение SQL» со свойствами Тип источника SQL = Прямой ввод, BypassPrepare = True.При выполнении задания оно просто зависает на 20 минут или около того.Затем я нажал на остановку отладки.

UPDATE   Table1 R
  SET   R.Column1 =
           (SELECT   SUM (Column2)
              FROM   Table2 M

             WHERE                                
                  M.Column3 IS NULL AND M.Column4 = R.Column4)
WHERE   EXISTS (  SELECT   Column4 AS Column4
                    FROM   Table2 M

                   WHERE                          
                        M.Column3 IS NULL AND M.Column4 = R.Column4
                GROUP BY   Column4)   `

1 Ответ

2 голосов
/ 31 мая 2012

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

Вот деталь:

Задача SSIS PL / SQL зависает с сообщением «В результате многоэтапной операции OLE DB возникли ошибки».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...