powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / "Схемотехника" V5R3 vs. LUW 9.1
14 сообщений из 39, страница 2 из 2
"Схемотехника" V5R3 vs. LUW 9.1
    #34493780
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте
Код: plaintext
CPYTOIMPF ... STMFCODPAG( 1251 ) ...
И пока вы не получите нормальный текстовый файл с разделителями у себя на винде, load даже не пытайтесь запускать.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493837
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
CPYTOIMPF ... STMFCODPAG( 1251 ) ...

Такое, что-то у админов не получается. Предложили

CL: CPYTOIMPF ... STMFCODPAG(*PCASCII)

Файл прилагаю и он виден в Win как живой, но в Load грузит 4 записи с NULL во всех полях

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SQL3109N  Утилита начинает загружать данные из файла "C:\Work\fpart".

SQL3119W  Значение поля в строке "1" и столбце "1" невозможно преобразовать в 
значение типа INTEGER.  Было загружено пустое значение (null).

SQL3119W  Значение поля в строке "2" и столбце "1" невозможно преобразовать в 
значение типа INTEGER.  Было загружено пустое значение (null).

SQL3119W  Значение поля в строке "3" и столбце "1" невозможно преобразовать в 
значение типа INTEGER.  Было загружено пустое значение (null).

SQL3119W  Значение поля в строке "4" и столбце "1" невозможно преобразовать в 
значение типа INTEGER.  Было загружено пустое значение (null).

SQL3110N  Утилита завершила работу.  "4" строк считано из входного файла.

SQL3221W  ...Начинается принятие (COMMIT WORK). Входных записей = "4"

SQL3222W  ...принятие изменений в базе данных завершилась успешно.

SQL3149N  Обработано "4" строк входного файла.  "4" строк успешно включено в 
таблицу.  "0" строк отклонено.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493838
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, получился вменяемый файл.
Но ситуация не изменилась:
SQL3119W Значение поля в строке "1" и столбце "1" невозможно преобразовать в
значение типа INTEGER. Было загружено пустое значение (null).

SQL3119W Значение поля в строке "2" и столбце "1" невозможно преобразовать в
значение типа INTEGER. Было загружено пустое значение (null).

SQL3119W Значение поля в строке "3" и столбце "1" невозможно преобразовать в
значение типа INTEGER. Было загружено пустое значение (null).

SQL3119W Значение поля в строке "4" и столбце "1" невозможно преобразовать в
значение типа INTEGER. Было загружено пустое значение (null).

SQL3110N Утилита завершила работу. "4" строк считано из входного файла.

SQL3221W ...Начинается принятие (COMMIT WORK). Входных записей = "4"

SQL3222W ...принятие изменений в базе данных завершилась успешно.

SQL3149N Обработано "4" строк входного файла. "4" строк успешно включено в
таблицу. "0" строк отклонено.

В рез-те опять пустая таблица
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493859
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, спасибо за помощь. Вот такая комада все загрузила:

LOAD FROM "C:\Work\fpart" OF DEL MODIFIED BY CODEPAGE=1251 COLDEL; METHOD P (1, 2) MESSAGES "C:\1" REPLACE INTO WHBRANCH.FPART ("PART", PART_NAME) COPY NO INDEXING MODE AUTOSELECT;

Дел было в "CODEPAGE=1251"
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493874
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А так:

LOAD FROM "C:\FPART" OF DEL MODIFIED BY chardel"" coldel; USEDEFAULTS METHOD P (1, 2) MESSAGES "C:\1" REPLACE INTO WHBRANCH.FPART ("PART", PART_NAME) COPY NO INDEXING MODE AUTOSELECT @

Скопируйте команду в файл и запустие ее на выполнение из db2cmd так:

db2 -td@ -f file_name
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34510571
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникли дополнительные сложности с перегрузкой:
1. Если в текстовом поле встречается символ двойных кавычек - " , перегрузка поля после символа не осуществляется(данные обрубаются). Возможно ли как то справиться с проблеммой на этапе выгрузке или загрузки?
2. В LUW в случае связи таблиц по строковой ссылке учитывается регистр: например 'kp' в справочнике и 'KP' в подчиненной табл. "не связываюся". D V5R3 это может считаться одинаковым значением. Есть ли в LUW параметр, позволяющий отключить такой контроль регистра?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34510686
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxDMAВозникли дополнительные сложности с перегрузкой:
1. Если в текстовом поле встречается символ двойных кавычек - " , перегрузка поля после символа не осуществляется(данные обрубаются). Возможно ли как то справиться с проблеммой на этапе выгрузке или загрузки?
2. В LUW в случае связи таблиц по строковой ссылке учитывается регистр: например 'kp' в справочнике и 'KP' в подчиненной табл. "не связываюся". D V5R3 это может считаться одинаковым значением. Есть ли в LUW параметр, позволяющий отключить такой контроль регистра?1. Пользуйтесь при импорте с as400 опцией STRDLM команды CPYTOIMPF для задания символа-разделителя строк (так, чтоб не встречался в строках).
При загрузке в LUW указывайте его в
MODIFIED BY chardel
утилит import или load.
Например:
LOAD ... MODIFIED BY chardel $ ...

2. Никогда не слышал такое про V5R3.
Можете дать ссылку (или просто описать), как это можно сделать?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34513065
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
 2 . Никогда не слышал такое про V5R3.
Можете дать ссылку (или просто описать), как это можно сделать? 
вчера,  18 : 22     [ 4110161 ] Цитировать 

Админ -

Это скорее всего параметры ODBC-соединения:
Language->
1) Sort type = Sort based on language ID
2) Sort weight = Shared

При создании CONSTRAINT вида UNIQUE/PRIMARY KEY,CHECK за Sort-type и Sort-weight и берутся свойства таблицы SRTSEQ и LANGID, указанных при создании таблицы.
FOREIGN KEY не создается, если таблицы созданы с разными Sort-weight.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34654632
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В LUW был вынужден пользовался INSTEAD OF триггерами. В мануале V5R3 его не обнаружил. А на удачу пустил и не был обруган. Так есть INSTEAD OF тригера в V5R3 или нет?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34654858
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValPotВ LUW был вынужден пользовался INSTEAD OF триггерами. В мануале V5R3 его не обнаружил. А на удачу пустил и не был обруган. Так есть INSTEAD OF тригера в V5R3 или нет?Можно сказать, что есть .
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34963121
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как то по разному используются триггера. Команда insert into TAB ( NAME ) VALUES ('vvv') работает для таблички в LUW
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE TAB (
    NUM INTEGER NOT NULL,
    NAME VARCHAR( 64 ) NOT NULL,
    CONSTRAINT PK_TAB PRIMARY KEY(NUM) )


но требует снять NOT NULL с ключа в табличке в V5R3
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE TAB (
    NUM INTEGER ,
    NAME VARCHAR( 64 ) NOT NULL,
    CONSTRAINT PK_TAB PRIMARY KEY(NUM) )


Иначе жалуется на NULL в NUM, хотя триггер и в LUW и V5R3 один.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
CREATE TRIGGER TAB_BI
NO CASCADE BEFORE INSERT
ON TAB
REFERENCING NEW AS NEW_
FOR EACH ROW
MODE DB2SQL
BEGIN ATOMIC

    DECLARE b_forl1 integer;
    DECLARE RECORD_NUM$  numeric(  10 ,  0 );
    DECLARE CURR_NUM$    numeric(  10 ,  0 );

    SET CURR_NUM$ =NEW_.NUM;
    IF (CURR_NUM$ IS NULL) THEN SET CURR_NUM$ = 0 ; end if;
    IF (CURR_NUM$= 0 ) THEN
        SET RECORD_NUM$ =  0 ;
        set b_forl1= 0 ;
 forl1: FOR l_1 AS  select num as f1  from TAB order by num
        DO
            SET CURR_NUM$ = l_1.f1;
            IF (RECORD_NUM$<CURR_NUM$) THEN
               SET NEW_.NUM = RECORD_NUM$;
               set b_forl1= 1 ; leave forl1 ;
            end if;
            SET RECORD_NUM$ = RECORD_NUM$+ 1 ;
        end for;
        SET NEW_.NUM = RECORD_NUM$;
    end if;
END

Т.е. получается, что в V5R3 значение ключа проверяется до срабатывания триггера, в в LUW после. Это так или я что-то недопонял?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34986846
developer1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein ValPotно не знают есть ли возможность восстановить данный формат на db2 esс.Не выйдет.
Вам придется для выгрузки / загрузки на v5r3 пользоваться соответственно
CPYTOIMPF
и
CPYFRMIMPF
, работая со stream файлами (которые в файловой системе root находятся).
Эти утилиты работают с текстовыми файлами фиксированного размера (ascii: DTAFMT=*FIXED) или с разелителями (DTAFMT=*DLM).
Удобнее работать с файлами с разделителями.
Со стороны LUW эти файли обрабатываются утилитами export и load (import) соответственно.
Ну и файлы такие придется на iSeries класть и забирать оттуда руками.
Во-о-от...

НЕ подскажите где можно поподробнее почитать про енто? Очень нужно...какие параметры пишутся и как сохранить данные и откуда куда. Если есть то примеры тоже!
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34987083
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
developer1983НЕ подскажите где можно поподробнее почитать про енто? Очень нужно...какие параметры пишутся и как сохранить данные и откуда куда. Если есть то примеры тоже!Ссылка на CPYTOIMPF еще работает.
Примеры там есть.
Набираете эту команду у себя в зеленом терминильном окне и заполняете поля.
Для того, чтоб оно выкинуло в stream file (в файл в файловой системе root), надо указать его имя в TOSTMF, а не в TOFILE.
Значения по умолчанию разных параметров подчеркнуты.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34987143
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример выгрузки из V5R3 и загрузки в LUW

CL: CPYTOIMPF FROMFILE(Schema/tab1 ) TOSTMF('/path/file') STMFCODPAG(*PCASCII) MBROPT(*REPLACE) RCDDLM(*CRLF) FLDDLM(';')

LOAD FROM "C:\LOAD\file" OF DEL MODIFIED BY CODEPAGE=1251 COLDEL; METHOD P (1, 2) MESSAGES "C:\1" REPLACE INTO Schema/tab1 (p1, p2) COPY NO INDEXING MODE AUTOSELECT;
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / "Схемотехника" V5R3 vs. LUW 9.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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