powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Массовая вставка
7 сообщений из 7, страница 1 из 1
Массовая вставка
    #35769436
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый All

DB2 V8 стоит на Z/OS у нас удаленный доступ на запись (НЕ администрирование)

Надо вставялть порядка 10000 - 1 000 000 записей в таблицу (такая схема работы)
для теста сгенерил и вставил через Odbc 10000 - 30 минут

( путем INSERT INTO посклеивал разные ранее сгенеренные чтобы получить 100 000 - но это не совсем корректно но для теста пока пойдет)

1? давно в оракле была тулза для массовой вставки (текстовые файлы формировались )
- наверняка что то подобное есть и здесь
или какой то друой подход есть ?

2? если по схеме приложения (java , framework пока не известен)надо будет ЧАСТО загружать большие объмы инфы (10000 - 1 000 000) с внешнего источника (ексель или xml)
в базу какие есть варианты для увелечения скорости вставки ?

PS добавлю что foreign keys на ту большую таблицу все убиты
...
Рейтинг: 0 / 0
Массовая вставка
    #35770064
xz321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/t0006556.htm
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/wareh/t0005994.htm
...
Рейтинг: 0 / 0
Массовая вставка
    #35774762
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xz321,попробовал почитать
Для запуска утилит DB2 for z/OS:
При установке DB2 запустите задание DSNTIJSG, чтобы установить и связать хранимую процедуру DSNUTILS. Убедитесь, что определение DSNUTILS включает в себя PARAMETER STYLE GENERAL.
Разрешите управляемые WLM хранимые процедуры.
Задайте среды RRS и WLM.
Необязательно: Запустите примеры пакетных программ DSNUTILS, поставляемые с DB2.
Свяжите план DSNUTILS с планом DSNCLI, чтобы ODBC мог вызывать хранимую процедуру:
BIND PLAN(DSNAOCLI) PKLIST(*.DSNAOCLI.*, *.DSNUTILS.*)
Сконфигурируйте шаг с использованием Центра хранилищ данных и выполните этот шаг. Надо использовать тип заполнения APPEND, иначе Центр хранилищ данных перед выполнением утилиты удалит все содержимое таблицы.

как то сложно все
к тому же как я заметил выше прав у нас минимум - база удаленная
поискал на винте с DSN* у меня ничего называется
?? и связать хранимую процедуру DSNUTILS -

но меня больше интересует 2 ?
как можно сгенерить большие объемы инф-и для теста
1 вариант вообщем ясен нагенерить текстовых скриптов insert into
INSERT INTO emp_act VALUES
('200000' ,'ABC' ,10 ,1.4 ,'2003-10-22', '2003-11-24')
,('200000' ,'DEF' ,10 ,1.4 ,'2003-10-22', '2003-11-24')
вставить в Quest Central и запусить может кто еще что скажет
...
Рейтинг: 0 / 0
Массовая вставка
    #35776842
Гулин Федор
Надо вставялть порядка 10000 - 1 000 000 записей в таблицу (такая схема работы)
для теста сгенерил и вставил через Odbc 10000 - 30 минут

Вставлять можно по разному.

1. В приложении через динамический SQL выполнять последовательность:
а) Prepare SQL с позиционными параметрами.
b) bind значений параметров
с) execute
d) (желательно) если вставлено больше N записей, выполнить commit;
e) если есть еще данные перейти к пункту b)

2. В приложении использовать статический SQL (это вариант для C/C++(Embedded SQL) и Java(SQLJ, PureQuery))
Последовательность:
a) INSERT
b) (желательно) если вставлено больше N записей, выполнить commit;
c) если есть еще данные перейти к пункту a)

3. Грузить данные через утилиту "LOAD CLIENT FROM <файл>.ixf of ixf". Из текстового файла насколько помню не получится, а вот с IXF пройдет на ура.
Был случай, что в качестве промежуточного звена был использован локальный DB2 Express C для того чтобы из текстового файла (DEL) загрузить в локальную таблицу, получить IXF, а уже потом его запихнуть в DB2 for z/OS. Не могу правда сказать что это хорошее решение.
...
Рейтинг: 0 / 0
Массовая вставка
    #35776916
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений Хабаров...
3. Грузить данные через утилиту "LOAD CLIENT FROM <файл>.ixf of ixf". Из текстового файла насколько помню не получится, а вот с IXF пройдет на ура.
Был случай, что в качестве промежуточного звена был использован локальный DB2 Express C для того чтобы из текстового файла (DEL) загрузить в локальную таблицу, получить IXF, а уже потом его запихнуть в DB2 for z/OS. Не могу правда сказать что это хорошее решение.LOAD и host?
Вы не ошиблись?
LOAD вроде нельзя в host и iSeries:
Differences between the import and load utility .
Может, IMPORT?
...
Рейтинг: 0 / 0
Массовая вставка
    #35776949
Mark Barinstein[quot Евгений Хабаров]...
LOAD вроде нельзя в host и iSeries:
Differences between the import and load utility .
Может, IMPORT?
Марк, да, спасибо за поправку, конечно же IMPORT :)
...
Рейтинг: 0 / 0
Массовая вставка
    #35777055
Да, вспомнилось, для ускорения вставки из приложений можно задействать "Multi-row INSERT".
Kewl DB2 for z/OS Version 8 Feature Part 2a: Multi-row INSERT & FETCH
Эту фичу можно задействовать не только для Embedded SQL, но и для JDBC например:
Making batch updates in JDBC applications
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Массовая вставка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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