|
|
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Никогда не работал с SSIS. Сейчас нужно написать небольшой пакет. Перебросить данные из одного MSSQL в другой. В базе-источнике есть хранимая процедура. Запускаю её через EXECUTE, получаю данные. Теперь до того как заливать это в таблицу надо отфильтровать, применить различные функции к полям и т.д. Что-то не нахожу как это сделать. Нашёл только DerivedColumn. Но там нельзя фильтровать, и набор функций какой-то совсем куцый (например нет LEFT, только RIGHT). Нет способа просто вытащить полученное из хранимки в виде селекта с Where и функциями? Гугл не помог. Заранее спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 10:37 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnet, Взять Execute sql и сделать все, что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 11:10 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
ГуЗы, cпасибо. Правильно ли понимаю что если скопировать код хранимки и вставить его после Execute sql то должно выдать результат аналогичный вызову хранимки? Что-то не работает так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 11:24 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
ГуЗы, Уточню вопрос. Взял селект из хранимки, убрал из него все параметры. Прогоняю в Management Studio - работает. Вставляю в SSIS - не работает. Пробовал с Execute sql и без. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 11:57 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnetВ базе-источнике есть хранимая процедура. Запускаю её через EXECUTE, получаю данные. Теперь до того как заливать это в таблицу надо отфильтровать, применить различные функции к полям и т.д.в DataFlow в OLE DB Source вызываете вашу процедуру, далее используете нужные вам таски трансформации и в конце сливаете полученное в OLE DB Destination ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 11:57 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnetГугл не помог. Creating a Simple SSIS Package ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 11:59 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Дедушка, Имено так и пытался сделать. Но вот что-то не нашёл "нужные таски трансформации". Нашёл только DerivedColumn. Но там нельзя фильтровать, и набор функций какой-то совсем куцый (например нет LEFT, только RIGHT). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:05 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:13 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnetНо вот что-то не нашёл "нужные таски трансформации". Нашёл только DerivedColumn. Но там нельзя фильтровать... Для фильтрации есть Conditional Split. Если у вас что-то сильно сложное - сначала вычисляете в Derived Col, затем - в Cond Split. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 12:36 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Ferdipux,cпасибо. Но что делать с куцым функционалом этих тасков? Вот мне например нужна функция LEFT и её там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:53 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnet, куда-ж вы ее дели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 13:57 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnetFerdipux,cпасибо. Но что делать с куцым функционалом этих тасков? Вот мне например нужна функция LEFT и её там нет. Функция LEFT в DerivedColumn - есть. Если вам нужно что-то совсем экзотическое - пишите собственный таск по обработке данных. Это несложно, нужно знание C# или VB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 14:07 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
ShIgor, Странно. У меня её нет. 2008. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 14:13 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnetСтранно. У меня её нет. 2008.версию нужно писать в первом посте, ф-ии LEFT в 2008 нет. используйте substring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 14:21 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnet, Дедушка, а можно использовать приведение к типу нужной длины а еще можно сделать reverse(right(reverse(...))) а еще и скрипт написать а проще и чаще дешевле источник поправить (в частности хранимку) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 14:29 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
Дедушка, Ну и ну! Вот так фии. Не ожидал. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 14:32 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
ShIgorslovnet, Дедушка, а можно использовать приведение к типу нужной длины а еще можно сделать reverse(right(reverse(...))) а еще и скрипт написать а проще и чаще дешевле источник поправить (в частности хранимку) Про первые три варианта тоже думал, но не предполагал что ради элементарного лефта такое надо воротить. Насчёт подправить процедуру - в базе источника её трогать никак нельзя, ей там пользуются. А скопипэйстить её в SSIS пытался - чёт не заработало. slovnet Взял селект из хранимки, убрал из него все параметры. Прогоняю в Management Studio - работает. Вставляю в SSIS - не работает. Пробовал с Execute sql и без. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 14:42 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnet, точно все правильно настроили? Task - Execute sql task в поле Connection нужно указать / создать подключение к вашей базе данных в поле SQL Statement пишете EXEC имя_процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 15:01 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
bideveloper, Вот Task - Execute sql task у меня не наблюдается. Видимо, тоже из-за 2008. А в остальном сделал точно как Вы описали, только с OLE DB Source - работает. Но вот если в OLE DB Source вместо вызова процедуры вставляю скопированый из этой процедуры селект - не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 15:16 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnet, Execute SQL Task он в Control Flow, а не в Data Flow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 15:23 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
slovnet, в OLE DB Source должен быть простой запрос (select, exec) возвращающий набор записей. T-SQL скрипт не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 15:28 |
|
||
|
SSIS - обработка данных полученных из хранимой процедуры.
|
|||
|---|---|---|---|
|
#18+
ShIgor, ОК. Спасибо. Видимо придётся скопировать процедуру в источнике и там всё отфильтровать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 15:51 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39461595&tid=1858237]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 518ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...