2016-05-30 5 views
0

Мне нужно сохранить все SQL-запросы в одной папке и обратиться в пакет SSIS, чтобы лучше организовать список файлов SQL, которые я использую, чтобы мы могли легко изменить файл SQL позже без необходимо перестроить пакет. Это будет включать все запросы, которые я использую для выполнения задачи «Выполнение SQL», а также запросы в «Источнике данных OLE DB» в компоненте «Поток данных».Динамический путь SQL-скрипта в задаче потока данных SSIS

задачи

в потоке данных, вместо того, чтобы поместить запрос SQL для базы данных источника в окно запроса: Я вижу четыре варианты под режимом доступа к данным для 1. Таблица или View данные OLE DB Source- 2. Таблицы имя представления переменной 3. Команда 4. Команда SQL SQL из переменной

Я понимаю, я мог бы использовать переменную, хранить запрос в переменной и передать его в «Execute SQL Task», но я ищу на пути к хранить все запросы в файлах SQL, а также в компоненте потока данных, а также в «Выполнять задачу SQL Script». Кажется, я не могу найти способ сделать его динамическим в задаче потока данных. Может ли кто-нибудь помочь с этим, пожалуйста?

ответ

0

Я не думаю, что хранение их в виде sql-файлов подходит для любого типа сценариев. Вот что я сделал бы, учитывая то, что вы описали.

Вы можете хранить запросы как varchar в таблице в базе данных, а не как файлы. Затем вы можете запрограммировать цикл по набору результатов и сопоставить каждую строку с переменной, которую вы затем будете использовать в качестве запроса для вашего источника данных oledb в потоке данных.

Так что создайте переменную и создайте для каждого цикла, который перебирает «select query from dbo.queries» или что-то еще. Задайте вывод переменной, которую вы создали, и в контейнере создайте поток данных и установите либо исходную задачу с выражением, либо с помощью команды «SQL Command from variable».

Что касается запросов потока управления, почему бы просто не хранить их в процедурах, которые вы можете изменить, когда вам нужно?

+0

Спасибо, Дэвид. Я намерен упростить выполнение, поэтому, если мне нужно изменить SQL-запрос, я могу просто внести изменения в SQL Script без необходимости редактировать пакет. Работа вокруг вас выглядит немного сложнее для реализации. Не существует ли простого способа просто подключить сценарий SQL из файла к исходному компоненту OLEDB вместо того, чтобы помещать его в переменную или в окно запроса? – Narender

+0

Я могу придумать много способов сделать это, когда SSIS будет просто накладными. Почему бы не запустить их с помощью только powersill, например? Если вы хотите, чтобы SSIS не просто перебирал файлы и добавлял их содержимое в переменную команды sql? –