2017-01-03 2 views
-1

У меня есть пакет SSIS, который использует хранимую процедуру с динамическим SQL как источник OLEDB. Когда я исполняю пакет, я получаю эту ошибкуОшибка при использовании хранимой процедуры с динамическим sql в источнике OIS-DB SSIS

Источник: «Microsoft SQL Server Native Client 11.0» HRESULT: 0x80004005 Описание: «Метаданные не может быть определена, так как оператор „ехес sp_executesql @sqlStr“в процедуре 's_offc_cap_st_rpt_efile' содержит динамический SQL. Рассмотрим, используя предложение WITH RESULT SETS to , явно описывать набор результатов. ".

Конфигурация Oledb source выглядит следующим образом:

enter image description here

Что является причиной этой ошибки? Может ли кто-нибудь помочь мне найти решение этой проблемы?

+0

Вы пытались использовать предложение WITH RESULT SETS, как говорится в сообщении об ошибке? –

+0

Я попытался дать его внутри хранимой процедуры ... не получилось – bmsqldev

+0

Тогда вы сделали это неправильно. Пожалуйста, разместите свою попытку, чтобы мы могли помочь ее отладить. Вы не используете его в сохраненной процедуре, но в вызове. См. Здесь: http://stackoverflow.com/a/28328734/1507566 –

ответ

1

Для создания метаданных SSIS всегда требуется выбрать список столбцов, чтобы имена столбцов в SSIS могли быть сопоставлены с соответствующим выходом \ destination.

Здесь вы используете динамический sql, который будет компилироваться и запускаться во время выполнения. Если вы хотите удалить эту ошибку. Я бы рекомендовал создать переменную таблицы и получить вывод вашего динамического sql в эту переменную таблицы и написать select * from @tablevaribale. Таким образом, процедура вернет список столбцов в ssis.

+0

динамический sql создается внутри хранимой процедуры .. если я создаю переменную таблицы внутри хранимой процедуры, она будет работать – bmsqldev

+1

@bmsqldev да, как только вы создадите переменную таблицы и выгрузите вывод динамического sql, а затем напишите который будет работать. Пожалуйста, дайте мне знать, если вы найдете еще вопрос –

Смежные вопросы