[SSIS 2008 R2]
Мой поток управления выглядит следующим образом:
Усеченная промежуточная таблица в БД (например, DB_Staging), локальной для SSISсервер ->
Загрузка промежуточной таблицы через поток данных с внешнего сервера SQL (например, DB_SOURCE) ->
ИспользованиеЗапрос T-SQL MERGE на UPDATE, INSERT и DELETE между промежуточной таблицей и таблицей в другой БД (например, DB_DESTINATION), локальной для сервера SSIS
Для третьегошаг, у меня есть задача потока данных подключения к DB_DESTINATION.Для потока данных для этой задачи для источника OLE DB задано значение «Команда SQL», содержащая инструкцию T-SQL MERGE (для краткости приведен запрос):
MERGE dbo.destination AS dest
USING (SELECT * FROM DB_STAGING.dbo.source) AS src
ON ...
WHEN MATCHED
AND ...
THEN UPDATE SET
...
WHEN NOT MATCHED BY TARGET
THEN INSERT
...
WHEN NOT MATCHED BY SOURCE
AND ...
THEN DELETE;
Проблема в том, что я получаю ошибку проверки наЗапрос T-SQL MERGE в источнике OLE DB.Я новичок в SSIS, поэтому я не уверен, что не так.Запросы на загрузку промежуточной таблицы и MERGE работают, как я их тестировал в Management Studio.Кто-нибудь может предложить какое-либо руководство?Сообщение об ошибке проверки от BIDS:
Ошибка проверки.DFT_MergeData OLEDB_DB_DESTINATION [1]: команда SQL не возвращала информацию о столбце.