Ошибка потока данных с запросом

62
10

У меня есть пакет SSIS с потоком данных в нем для копирования из одной базы данных в другую.

Первоначально это была копия с SQL2012 на SQL2012. Это не проблема. Теперь у меня изменилось требование и нужно скопировать из SQL2008 R2 в SQL2012. Запрос теперь генерирует эту ошибку:

Implicit conversion from data type datetime to int is not allowed. Use the CONVERT function to run this query.

Запрос, вызывающий его, содержит параметр (тип integer), который я назначаю в источнике OLEDB:

SELECT MetricValues.MetricValue_RunId, MetricValues.MetricValue_SampleNumber, MetricValues.MetricValue_MetricId, MetricValues.MetricValue_Value
FROM MetricValues
INNER JOIN Runs ON MetricValues.MetricValue_RunId = Runs.Run_id
INNER JOIN STR_RequiredMetricList ON MetricValues.MetricValue_MetricId = STR_RequiredMetricList.id
WHERE (Runs.Run_endtime > DATEADD([day], (?*-1), GETDATE()))

Простое получение записей, которые меньше, чем [parameter] дней назад.

Есть ли что-то о копировании с 2008 по 2012 год, что мне нужно знать, что может вызвать эту ошибку?

спросил(а) 2021-01-19T18:49:04+03:00 1 месяц, 1 неделя назад
1
Решение
96

На самом деле это не решение, но в качестве обходного пути я создал переменные уровня строки и использовал объект сценария, чтобы заполнить их запросом и переменными. Затем я ссылался на запрос в источнике данных.

ответил(а) 2021-01-19T18:49:04+03:00 1 месяц, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема