Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
Доброго времени суток!

Пишу SSIS пакет. Наткнулся на такую проблему - нужно чтобы запрос в DataFlow компоненте был параметризованным и принимал значение из какого то внешнего источника - например из переменной.
Что я хочу получить - пакет должен выгружать данные из одной большой БД Oracle в несколько баз MS SQL Server по определенному признаку. Хочу чтобы это был один пакет которому бы я как то указывал какие данные куда выгрузить.
Чтобы не делать несколько пакетов.

Ole DB Source на меня ругается - что драйвер OLE DB Oracle не поддерживает параметризованных запросов. Попытался весь запрос формировать в переменной из кусочков - вроде работает, но как то очень не удобно. Потому что писать запросы в 400-600 строк в переменную через Expression этой переменной - какое то извращенство..

Что ещё посоветуете?

SSIS 2005
Oracle 11g
11 мар 12, 14:14    [12225352]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Например, сделать несколько "параллельных" DataFlow, каждый со своим запросом к одному ораклу и с приемниками - "несколько баз MS SQL Server".
11 мар 12, 14:41    [12225591]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
мм, т.е. сделать чтобы data flow выбирал данные по всем базам а потом разделять результаты через Conditional Split ??
11 мар 12, 14:44    [12225618]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
fly-fire-fox
мм, т.е. сделать чтобы data flow выбирал данные по всем базам а потом разделять результаты через Conditional Split ??
Чото вы своим же условиям противоречите - "пакет должен выгружать данные из одной большой БД Oracle в несколько баз MS SQL Server по определенному признаку".
Этому соответствует то, что в пакете столько DataFlow задач, сколько баз, куда идет загрузка, а источник у всех этих DataFlow один - оракловая база.
11 мар 12, 14:48    [12225650]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
tpg,

Ну если так сделать получиться что при изменении запроса нужно будет зайти во все data_flow задачи и поменять там этот запрос. Потому что отличается он только одним условием where
11 мар 12, 14:58    [12225725]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
fly-fire-fox
tpg,

Ну если так сделать получиться что при изменении запроса нужно будет зайти во все data_flow задачи и поменять там этот запрос. Потому что отличается он только одним условием where
Про переменные и выражения вы уже тут упоминали.
Не?
11 мар 12, 15:05    [12225780]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
Я хотел чтобы задача data_flow была одна а в неё через переменную передавался параметр запроса - т.е. чтобы весь пакет выбирал в какую то базу данные либо в другую.
11 мар 12, 15:06    [12225794]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
tpg
Про переменные и выражения вы уже тут упоминали.
Не?


Ммм.. Т.е. сделать несколько парралельных data flow но при этом через переменные как то по разному задавать им запросы?
11 мар 12, 15:13    [12225839]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
tpg,

А решение с Conditional Split будет хуже тем что по факту будут тянуться все равно все данные не параллельно?
11 мар 12, 15:15    [12225852]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5116
fly-fire-fox,
имхо, не вижу ни каких проблем с формированием запроса и строк подключения к БД через Expression как шаблон+переменная_пакета...
11 мар 12, 15:19    [12225882]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
Дедушка
fly-fire-fox,
имхо, не вижу ни каких проблем с формированием запроса и строк подключения к БД через Expression как шаблон+переменная_пакета...


Хм.. там маленькая строчка в properties переменной без возможности открыть это в отдельном окне - или я чего то не понимаю.. Он даже не многострочная.. Писать в неё 600 строчный запрос - мне кажется неудобным...
11 мар 12, 15:21    [12225892]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5116
берите содержание шаблона запроса из конфигурационного файла пакета
11 мар 12, 15:57    [12226157]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
Дедушка,

Конфигурационный файл пакета это неформатированная XML-ка - тоже неудобочитаемая. Из подобных вариантов тогда уж только если конфигурацию хранить в SQL Server базе и написать небольшое оконное приложение для её редактирования..
11 мар 12, 16:04    [12226210]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
fly-fire-fox
Member

Откуда:
Сообщений: 42
fly-fire-fox,

Ну хотя для XML тоже можно написать небольшое приложение для редактирования.. В принципе вариант
11 мар 12, 16:05    [12226219]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5116
fly-fire-fox,
ну на вас не угодишь...
если пакет запускаете через dtexec то можно попробовать использовать параметр /set (это если вы формируете строку запуска в своём софте).
11 мар 12, 16:21    [12226351]     Ответить | Цитировать Сообщить модератору
 Re: Параметры в SSIS пакете - data flow component  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
fly-fire-fox
Я хотел чтобы задача data_flow была одна а в неё через переменную передавался параметр запроса - т.е. чтобы весь пакет выбирал в какую то базу данные либо в другую.
Вообще если нужно только менять базу-приёмник, то можно просто передавать строку коннекта как параметр, не нужно менять весь запрос.
11 мар 12, 16:25    [12226383]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить