Обновление или вставка с использованием служб SSIS - PullRequest
0 голосов
/ 01 мая 2018

У меня есть ситуация, когда мне нужно обновить или вставить мою таблицу назначения, используя приведенное ниже условие. Если поле (TYPE) в моей таблице назначения имеет значение «z», то мне нужно обновить место назначения, используя исходную таблицу. Еще мне нужно чтобы вставить запись из источника с TYPE = 'z' в месте назначения. Я могу использовать только ssis для выполнения этой задачи (строго без процедуры хранения). Пожалуйста, дайте мне знать, как я могу это сделать?

Ошибка при задании потока данных [команда OLEDB [189]]: код ошибки ssis DTS_E_OLEDBERROR. Произошла ошибка oledb. Код ошибки 0x80004005 Доступна запись oledb. Исходный сервер Microsoft SQL собственный cliemt 11.0 Hresult = 0x80004005 Описание: процедура хранения sp_describe_undeclared_parameters не существует или не поддерживается

Код, используемый в обновлении:

UPDATE Table SET Column=? WHERE TYPE = 'Z'

Я также пытаюсь использовать компонент скрипта для обновления, так как я новичок в c # Может кто-нибудь, пожалуйста, подскажите мне, как мы можем сделать это в скрипте c #.

Заранее спасибо

1 Ответ

0 голосов
/ 03 мая 2018

Разве нельзя было бы использовать CTAS , RENAME и затем отбросить исходную таблицу? Операция вставки будет последовательной, где CTAS будет использовать платформу и работать параллельно. RENAME (s) и drop будут быстрыми метаоперациями. DDL как RENAME не может быть в транзакции.

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