У меня есть сценарий, когда я пытаюсь выбрать некоторые данные в таблице t1 и t2 с удаленного сервера (на котором у меня только есть разрешения на чтение) S1 в DB db1 с другого удаленного сервера (на котором я DBO, но dont действительно имеют все разрешения, чтобы я мог делать все, что мне нужно) S2 в DB db2 в таблицу t1 через пакет SSIS.
S1 и S2 оба являются связанными серверами. Я связан с S1 с S2 через сервер объектов в SSMS.
Теперь я создал хранимую процедуру sp1 в S2.db2, которая имеет несколько операторов выбора из двух разных таблиц с соединением для диапазона дат, которые передаются как параметры для sp1.
например, как показано ниже:
SELECT * from s1.db1.schema1.t1 ВЛЕВО s1.db1.schema1.t2 ПРИ УСЛОВИИ] ГДЕ [УСЛОВИЯ] Теперь мой пакет SSIS имеет задачу Dataflow, которая имеет источник OLE DB и Destination с строкой подключения к s2.db2
В исходном тексте я вызываю вышеупомянутый запрос в SQL Command напрямую и занося в таблицу назначения, которая является S2.db2.t1, и работает нормально
Но это ошибка, когда я пытаюсь сделать следующее
- Создайте переменные DATETIME уровня 2 в качестве v1, v2 и передайте по умолчанию значения - Нет проблем
- В OLE DB SOURCE- > CONNECTION STRING → SQL COMMAND → EXEC sp1?,? - Нет проблем
- перейдите на вкладку ПАРАМЕТРЫ и выберите оба параметра пользователя для параметра Parameter0 и parameter1 - без проблем
- Теперь, когда я говорю ok для окна SQL COMMAND, он дает мне ошибку следующим образом
Ошибка:
TITLE: Microsoft Visual Studio
Ошибка в FII54_CBI_TM51 [FII54_CBI 1]: Код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: "Исходный клиент Microsoft SQL Server 10.0" Hresult: 0x80004005 Описание: "Столбец типа операнд: int несовместим с датой".
Ошибка в FII54_CBI_TM51 [FII54_CBI 1]: невозможно получить информацию столбца из источника данных. Убедитесь, что ваша целевая таблица в базе данных доступна.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Исключение из HRESULT: 0xC020204A (Microsoft.SqlServer.DTSPipelineWrap)
КНОПКИ:
OK
Я понимаю, что означает ошибка, но я не понимаю, почему это вообще бросает эту ошибку.
Я ценю, если кто-то может помочь мне решить эту проблему? Это довольно срочно для меня.