Попытка вызвать хранимую процедуру T-SQL, которая выбирает данные со связанного сервера в пакете SSIS

У меня есть сценарий, в котором я пытаюсь выбрать некоторые данные в таблице t1 и t2 с удаленного сервера (на котором У меня просто есть права на чтение) S1 в DB db1 с другого удаленного сервера (на котором я DBO, но у меня нет всех разрешений, чтобы я мог делать все, что захочу) S2 в DB db2 в таблицу t1 через пакет SSIS.

S1 и S2 оба являются связанными серверами. Я подключился к S1 из S2 через объектный сервер в SSMS.

Теперь я создал хранимую процедуру sp1 в S2.db2, которая имеет несколько операторов выбора из двух разных таблиц с объединением для диапазон дат, которые передаются в качестве параметров в sp1.

The input parameters for SP

, например, как показано ниже:

SELECT * from s1.db1.schema1.t1 LEFT JOIN s1.db 1.schema1.t2 ON [CONDITION] WHERE [CONDITIONS] Теперь в моем пакете SSIS есть задача Dataflow, которая имеет источник и назначение OLE DB со строкой подключения к s2. db2

В источнике я вызываю вышеупомянутый запрос непосредственно в команде SQL и заполняю целевую таблицу, которой является S2.db2.t1, и он работает нормально

Passing the query directly

Но выдает ошибку, когда я пытаюсь сделать следующее

  1. Создайте 2 переменных DATETIME уровня пакета как v1, v2 и передайте значения по умолчанию - проблем нет
  2. В OLE DB ИСТОЧНИК-> СТРОКА ПОДКЛЮЧЕНИЯ -> КОМАНДА SQL -> EXEC sp1?,? - Нет проблем
  3. щелкните вкладку ПАРАМЕТРЫ и выберите оба параметра пользователя для параметра 0 и параметр 1 - Нет проблем
  4. Теперь, когда я говорю ОК для окна КОМАНДЫ SQL, я получаю следующую ошибку

Error while calling the SP

Ошибка:

НАЗВАНИЕ: Microsoft Visual Studio

Ошибка в FII54_CBI_TM51 [FII54_CBI 1 ]: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: «Microsoft SQL Server Native Client 10.0» Hresult: 0x80004005 Описание: «Конфликт типов операндов: int несовместим с датой».

Ошибка в FII54_CBI_TM51 [FII54_CBI 1 ]: невозможно получить информацию о столбце из источника данных. Убедитесь, что ваша целевая таблица в базе данных доступна.


ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Исключение из HRESULT: 0xC020204A (Microsoft.SqlServer.DTSPipelineWrap)


КНОПКИ:

ОК

Я понимаю, что означает ошибка, но не понимаю, почему она выдает эту ошибку все.

Я признателен, если кто-нибудь поможет мне решить эту проблему? Для меня это очень срочно.

10
задан vineela 8 November 2011 в 20:26
поделиться