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