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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.07.2012, 13:58
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
Добрый вечер! Скажите пожалуйста можно ли считать из БД DB2 9.7 XLS-файл и по ходу работы преобразовать его в CSV-файл с помощью DataStage Designer? На сервере где стоит DataStage Engine настроил XLS2CSV. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2012, 22:20
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
Привет. Да, скорее всего можно. На будущее, DataStage Designer - это средство разработки, с помощью него преобразования не делаются. они делаются подпроцессами движка на основании составленной вами логики. =) Идея такова, надо попробовать конечно, но, должно полететь... Ваша цель - вытащить значение вашего поля из БД в файл на файловой системе сервера. Сделать такое можно автоматически, надо лишь настроить DB2 Connector таким, образом, чтобы значение поля передавалось не in-line, а by reference (делал такое с большими XML, тип данных Long* && ArraySize=1&& TransactionSize=1 && Transfer Block Size >= max (XLS-файл)). При передаче by reference в самом значении поля будет путь к локально хранящемуся файлу, когда все файлы будут на сервере, вы сможете над каждым из них выполнить XLS2CSV, а потом переработать, как CSV-файл. Сиквенс может быть примерно таким Main Seq: 1. Задание чтения из базы 2. Вызов shell-команды для преобразования локальных файлов - XLS2CSV 3. Задание чтения CSV-шников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.07.2012, 22:23
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
Зачем вы только так извращаетесь... =) В одной ветке импортируете в базу XLS, в другой вычитываете с помощью DS и конвертируете в CSV... Не судьба сразу передать на DataStage сервер. конвертнуть, разобрать и разложить, попутно сохранив исходный файл? Ну это так... Подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.07.2012, 07:44
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
Hunterik, Доброе утро! Вы как всегда не заменимы. ) Проблема в том, что пользователи заполняют шаблоны(XLS) и в БД заказчика сделано так, что шаблоны хранятся в самой БД. Это условие задачи, что уж тут поделать?! )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2012, 00:48
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
Добрый вечер. А вот, кстати, у меня и не получилось сделать так, как предположил... =) Locator оказался не путём к файлу, а указанием, как достать содержимое из базы... Надо будет поднять старое, посмотреть, как я xml вываливал, возможно через xmlOutput, там есть Write to file... Не суть. Второй вариант - на каждое значение PK в таблице с XLS дёргайте export, пока всё не выкачаете. В противном случае, все lob-ы вываливаются в один файл, а может как-то можно сразу раздельно всё вывалить... EXPORT TO /tmp/fake.out OF DEL LOBS TO /tmp/LOBS/ LOBFILE xls_lob_file_name select file from test.test where id = 1; Когда всех переберёте, пробуйте конвертировать и парсить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2012, 08:41
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
HunterikДобрый вечер. А вот, кстати, у меня и не получилось сделать так, как предположил... =) Locator оказался не путём к файлу, а указанием, как достать содержимое из базы... Надо будет поднять старое, посмотреть, как я xml вываливал, возможно через xmlOutput, там есть Write to file... Не суть. Второй вариант - на каждое значение PK в таблице с XLS дёргайте export, пока всё не выкачаете. В противном случае, все lob-ы вываливаются в один файл, а может как-то можно сразу раздельно всё вывалить... EXPORT TO /tmp/fake.out OF DEL LOBS TO /tmp/LOBS/ LOBFILE xls_lob_file_name select file from test.test where id = 1; Когда всех переберёте, пробуйте конвертировать и парсить... Доброе утро! Мысль примерно понятна, спасибо! Но вы не можете объяснить как дергать команды ОС из Designer Client, дело в том что руководство хочет чтобы все запускалось через джобы. И первый вариант тоже покажите пожалуйста. Спасибо еще раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2012, 08:42
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
vadipok, А еще я раньше работал на SAS, там можно было создавать самому Stage. В DataStage есть такая возможность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.07.2012, 09:02
|
|||
|---|---|---|---|
Вопрос по DataStage 8.7 |
|||
|
#18+
Дергать команды можно разными способами, для примера несколько вариантов: 1. Wrapper Stage посмотрите - это для параллельных заданий. 2. Из Sequence - стандартный RunCMD стейджик есть... 3. Из Серверных можете дергать, например, из трансформера, вызывая DataStage Server Routine, которая пишется на Basic через Designer, Programmer Guide вам в помощь, DSExecute вызов насколько помню, в данный момент глянуть не могу. Routine-ка может дергаться и из Sequence-а. Имеющиеся примеры посмотрите в папке проекта. Стеджи писать самому можно: 1. На С/С++, сам пока не писал, на Developer Works есть примеры. 2. Java (Java Client|Transformer), пишете свой собственный класс, расширяя предоставленные вам классы, описываете методы. Java Pack документация, там чуток совсем, но всё нормально написано. 3. Build Stage - разработка новых стейджей через Designer, опять же за примерами - в доку. Отличие от 1, в ограниченности по некоторым параметрам (определение линков и т.д...) 4. Можете писать внешние Parallel Routine (C/C++), собирать до уровня объектника или либы, а потом, через DataStage Designer - cretate parallel routine, указываете, где лежит собранный объект и описываете входные, выходные параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&tablet=1&tid=1601769]: |
0ms |
get settings: |
14ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 175ms |

| 0 / 0 |
