2015-07-02 3 views
0

Поиск проблемы при решении ниже задачи в SSIS.Выполнение SQL-запроса в SSIS

У меня есть переменная в SSIS@Select, которая инициализируется заданием SQL в SSIS, как показано ниже.

@Select='Select column1, column2 from tableName', как динамический выберите запрос, теперь я хочу Execute @Select переменную (который должен выполнить запрос на выборку внутри него), чтобы вернуть полный набор результатов в отдельном SQL задачи я попытался его, как показано ниже, но не удалось.

Declare @Query Varchar(2000) 

SET @Query=? // here ? will store the select query in @Select variable 

EXEC (@Query) // executing to return result set?? 

Может ли кто-нибудь помочь мне достичь этого?

ответ

0

Если вы хотите выполнить запрос динамического выбора в SSIS, используйте команду Execute SQL Task и отредактируйте задачу.

Установите для параметра ResultSet значение Полный набор результатов, если вы ожидаете несколько строк и одиночную строку только для одной строки. Добавьте свое имя подключения к соединению и убедитесь, что он правильно указан в списке менеджеров подключений. Вы можете настроить SQLSourceType на Variable и указать переменную, которую вы хотите использовать ниже. Хотя использование опции прямого ввода так же хорошо, когда вы указываете свой SQL-запрос. Теперь установите переменную, которую вы хотите, чтобы ResultSet записывал на вкладку «Набор результатов», которая находится в левом столбце редактора задач. вы даже можете указать переменную параметра, которую вы хотите использовать на вкладке «Сопоставление параметров».

Вы можете нажать «Построить запрос», чтобы узнать, работает ли ваш запрос. Надеюсь, это поможет, и дайте мне знать, если я что-то пропустил :)

+0

Спасибо @ Ryno Mayer, этого я точно хотел. –

+0

Однако можете ли вы мне помочь, как мы можем создавать и сопоставлять переменные во время выполнения в SSIS? –

+0

Переменные могут быть добавлены только в режиме разработки, переменным можно присвоить значения во время выполнения, добавив их на вкладку «Набор результатов» и установив ResultSet в одну строку. [link] (http://dataqueen.unlimitedviz.com/2012/08/how-to-set-and-use-variables-in-ssis-execute-sql-task/) это может помочь. –

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