2015-12-07 3 views
0

Привет Я пытаюсь вернуть ResultSet из «Выполнение SQL-задачи» в SSIS. Затем я пытаюсь сохранить результат в переменной ResultSet. Мой запрос работает в консоли, и моя связь в порядке.Ошибка задачи SSIS ExecuteSQL с ResultSet

Вот мой запрос ВЫБРАТЬ Src FROM [MyDB]. [DBO]. [MyTable] группа по Src

Src является NVARCHAR (255)

Когда я выполнить задание I я получаю следующую ошибку: [Выполнение SQL-задачи] Ошибка: Выполнение запроса «SELECT Src FROM [myDB]. [dbo]. [myTable ...» не удалось со следующей ошибкой: «Тип значения (DBNull) присвоенный переменной «User :: ResultSet», отличается от текущего типа переменной (Str луг). Переменные могут не меняться во время выполнения. Переменные типы строгие, за исключением переменных типа Object. ». Возможные причины отказа: Проблемы с запросом,„ResultSet свойство“установлены неправильно, параметры установлены неправильно, или соединение не установлено корректно Я также прилагаю снимки экрана для настройки задач

пожалуйста.. помощь. ExecuteSQL Screen1

ExecuteSQL Screen2 - ResultSet setup

ответ

0

In SSIS 2012 в цикле ForEach, используя перечислитель ADO, вы не можете присвоить нулевое значение переменной типа String, когда значение источника пришло из запроса SQL возвращает нулевое значение

Я бы предположил, что функция Derived Column Transform для SSIS вы используете функцию SSIS ISNULL для определения значения NULL, а затем что-то с этим делать.

More info about Derived Column Transform

Например преобразующей Строка столбец:

ISNULL ([строка-столбец])? «Не было значения»: [Строка-колонка]

+0

Я получаю сообщение об ошибке в разделе «Выполнение SQL», чтобы даже не касаться цикла ForEach. – failsafe

+0

Кроме того, я попытался изменить мой запрос на использование isNULL (src, 0), но все равно получаю одно и то же сообщение. – failsafe

+0

Я думаю, что 0 попытается поместить целое число 0 в столбец. Вы пробовали поместить текст или «»? –

Смежные вопросы