Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSIS - обработка данных полученных из хранимой процедуры. / 23 сообщений из 23, страница 1 из 1
29.05.2017, 10:37
    #39461309
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
Никогда не работал с SSIS.
Сейчас нужно написать небольшой пакет. Перебросить данные из одного MSSQL в другой.

В базе-источнике есть хранимая процедура. Запускаю её через EXECUTE, получаю данные.
Теперь до того как заливать это в таблицу надо отфильтровать, применить различные функции к полям и т.д.
Что-то не нахожу как это сделать. Нашёл только DerivedColumn. Но там нельзя фильтровать, и набор функций какой-то совсем куцый (например нет LEFT, только RIGHT).

Нет способа просто вытащить полученное из хранимки в виде селекта с Where и функциями?

Гугл не помог.

Заранее спасибо за помощь.
...
Рейтинг: 0 / 0
29.05.2017, 11:10
    #39461347
ГуЗы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnet,
Взять Execute sql и сделать все, что нужно.
...
Рейтинг: 0 / 0
29.05.2017, 11:24
    #39461372
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
ГуЗы, cпасибо.

Правильно ли понимаю что если скопировать код хранимки и вставить его после Execute sql то должно выдать результат аналогичный вызову хранимки?
Что-то не работает так.
...
Рейтинг: 0 / 0
29.05.2017, 11:57
    #39461395
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
ГуЗы,

Уточню вопрос.
Взял селект из хранимки, убрал из него все параметры.
Прогоняю в Management Studio - работает.

Вставляю в SSIS - не работает. Пробовал с Execute sql и без.
...
Рейтинг: 0 / 0
29.05.2017, 11:57
    #39461396
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnetВ базе-источнике есть хранимая процедура. Запускаю её через EXECUTE, получаю данные.
Теперь до того как заливать это в таблицу надо отфильтровать, применить различные функции к полям и т.д.в DataFlow в OLE DB Source вызываете вашу процедуру,
далее используете нужные вам таски трансформации
и в конце сливаете полученное в OLE DB Destination
...
Рейтинг: 0 / 0
29.05.2017, 11:59
    #39461398
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnetГугл не помог. Creating a Simple SSIS Package
...
Рейтинг: 0 / 0
29.05.2017, 12:05
    #39461403
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
Дедушка,

Имено так и пытался сделать.
Но вот что-то не нашёл "нужные таски трансформации".
Нашёл только DerivedColumn. Но там нельзя фильтровать, и набор функций какой-то совсем куцый (например нет LEFT, только RIGHT).
...
Рейтинг: 0 / 0
29.05.2017, 12:13
    #39461412
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
ДедушкаslovnetГугл не помог. Creating a Simple SSIS Package

Cпасибо.
...
Рейтинг: 0 / 0
29.05.2017, 12:36
    #39461438
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnetНо вот что-то не нашёл "нужные таски трансформации".
Нашёл только DerivedColumn. Но там нельзя фильтровать...
Для фильтрации есть Conditional Split. Если у вас что-то сильно сложное - сначала вычисляете в Derived Col, затем - в Cond Split.
...
Рейтинг: 0 / 0
29.05.2017, 13:53
    #39461548
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
Ferdipux,cпасибо.

Но что делать с куцым функционалом этих тасков?
Вот мне например нужна функция LEFT и её там нет.
...
Рейтинг: 0 / 0
29.05.2017, 13:57
    #39461552
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnet,

куда-ж вы ее дели?
...
Рейтинг: 0 / 0
29.05.2017, 14:07
    #39461565
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnetFerdipux,cпасибо.

Но что делать с куцым функционалом этих тасков?
Вот мне например нужна функция LEFT и её там нет.
Функция LEFT в DerivedColumn - есть.
Если вам нужно что-то совсем экзотическое - пишите собственный таск по обработке данных. Это несложно, нужно знание C# или VB.
...
Рейтинг: 0 / 0
29.05.2017, 14:13
    #39461573
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
ShIgor,
Странно. У меня её нет. 2008.
...
Рейтинг: 0 / 0
29.05.2017, 14:21
    #39461584
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnetСтранно. У меня её нет. 2008.версию нужно писать в первом посте, ф-ии LEFT в 2008 нет.
используйте substring.
...
Рейтинг: 0 / 0
29.05.2017, 14:29
    #39461595
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnet, Дедушка,

а можно использовать приведение к типу нужной длины
а еще можно сделать reverse(right(reverse(...)))
а еще и скрипт написать
а проще и чаще дешевле источник поправить (в частности хранимку)
...
Рейтинг: 0 / 0
29.05.2017, 14:32
    #39461599
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
Дедушка,

Ну и ну! Вот так фии. Не ожидал.
Спасибо.
...
Рейтинг: 0 / 0
29.05.2017, 14:42
    #39461609
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
ShIgorslovnet, Дедушка,

а можно использовать приведение к типу нужной длины
а еще можно сделать reverse(right(reverse(...)))
а еще и скрипт написать
а проще и чаще дешевле источник поправить (в частности хранимку)

Про первые три варианта тоже думал, но не предполагал что ради элементарного лефта такое надо воротить.
Насчёт подправить процедуру - в базе источника её трогать никак нельзя, ей там пользуются.
А скопипэйстить её в SSIS пытался - чёт не заработало.

slovnet
Взял селект из хранимки, убрал из него все параметры.
Прогоняю в Management Studio - работает.

Вставляю в SSIS - не работает. Пробовал с Execute sql и без.
...
Рейтинг: 0 / 0
29.05.2017, 15:01
    #39461632
bideveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnet, точно все правильно настроили?
Task - Execute sql task
в поле Connection нужно указать / создать подключение к вашей базе данных
в поле SQL Statement пишете EXEC имя_процедуры
...
Рейтинг: 0 / 0
29.05.2017, 15:16
    #39461648
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
bideveloper,

Вот Task - Execute sql task у меня не наблюдается. Видимо, тоже из-за 2008.
А в остальном сделал точно как Вы описали, только с OLE DB Source - работает.
Но вот если в OLE DB Source вместо вызова процедуры вставляю скопированый из этой процедуры селект - не работает.
...
Рейтинг: 0 / 0
29.05.2017, 15:23
    #39461656
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnet,

Execute SQL Task он в Control Flow, а не в Data Flow
...
Рейтинг: 0 / 0
29.05.2017, 15:28
    #39461662
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
slovnet,

в OLE DB Source должен быть простой запрос (select, exec) возвращающий набор записей. T-SQL скрипт не работает.
...
Рейтинг: 0 / 0
29.05.2017, 15:51
    #39461681
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
ShIgor,
ОК. Спасибо.
Видимо придётся скопировать процедуру в источнике и там всё отфильтровать.
...
Рейтинг: 0 / 0
29.05.2017, 15:53
    #39461683
slovnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SSIS - обработка данных полученных из хранимой процедуры.
Огромное спасибо всем - вы мне очень помогли, и попутно узнал много полезного.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSIS - обработка данных полученных из хранимой процедуры. / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]