Метаданные не могут быть определены, потому что инструкция INSERT INTO #temp_display () values ​​() использует временную таблицу

Я обновил пакет служб SSIS с 2008 по 2014 год. Кроме того, я изменил значение поставщика на "Provider=SQLNCLI11.1 ". Когда я бегу, я получаю ошибку, как

OLE_SOURCE_RECORDS [9]] Ошибка: код ошибки служб SSIS DTS_E_OLEDBERROR.
Произошла ошибка OLE DB. Код ошибки: 0x80004005.
Доступна запись OLE DB. Источник: "Собственный клиент Microsoft SQL Server 11.0"
Hresult: 0x80004005 Описание: "Не удалось определить метаданные, так как значения оператора INSERT INTO #temptest ( [a],[b]) (0," b "в процедуре SPtest" используют временную таблицу. ".

Я исследовал и обнаружил, что мы должны использовать С набором результатов вместо временной таблицы. Но мне нужно изменить весь SQL-запрос в SP.

Есть ли способ запустить пакет без изменения хранимой процедуры.

1 ответ

Если вы хотите использовать локальную временную таблицу в службах SSIS, вы должны знать о двух настройках:

1) RetainSameConnection свойство True

Локальная временная таблица видна только в текущем сеансе. Поэтому вам необходимо сохранить связь между компонентами.

2) ValidateExternalMetadata ложно

Другие вопросы по тегам