powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / "Схемотехника" V5R3 vs. LUW 9.1
39 сообщений из 39, показаны все 2 страниц
"Схемотехника" V5R3 vs. LUW 9.1
    #34413391
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь обеспечить портабельность использования SQL кода с V5R3 на LUW 9.1.

В V5R3 у меня несколько схем ( библиотек, БД ). Когда я соединился со Сxema1 и даю команды

Create table tc1 ... - у меня в библиотеке Cxema1 образуется таблица tc1
Create table Сxema2.tc2 ... - у меня в библиотеке Cxema2 образуется таблица tc2

все просто и понятно.

Перехожу к LUW.

Create table tc1 ... - у меня в библиотеке Cxema1 образуется таблица db2admin.tc1
Create table Сxema2.tc2 ... - у меня в библиотеке Cxema1 образуется таблица Сxema2.tc2

Отличие 1. К имени tс1 явно приписана схема автора
Отличие 2. tс2 создается в БД Cxema1 со схемой Cxema2.

Возможно ли настроить LUW, что-бы не меняя исходный SQL, обеспечить схожесть результата ?
Если это невозможно, то каких правил настройки "схемотехники" придерживаться при настройке LUW , для минимизации перекодировки SQL кода c V5R3 перед отправкой на сервер для исполнения?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34414685
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В db2 (ни в той, ни в другой) нет понятия "соединился со схемой (библиотекой)".
Если говорить про динамический sql, то:

1.
В db2 for LUW неквалифицированные имена таблиц квалифицируются значением регистровой переменной current schema.
Посмотреть ее значение можно, выполнив
Код: plaintext
values current schema
Установить:
Код: plaintext
set schema=имя_схемы
Создаются неквалифицированные объекты тоже в схеме, указанной в этой переменной.
При обращении к процедуре (функции), просматриваются схемы из переменной current path слева направо до соответствия кол-ва и типов параметров.
Посмотреть и изменить эту переменную можно так же, как и current schema.

2.
В db2 for iSeries все зависит от соглашения именования (naming convention).
При *SQL (sql соглашение) все так же, как и для db2 for LUW.

При *SYS (системное) неквалифицированные имена таблиц, процедур и функций при их создании квалифицируются значением системной переменной CURLIB.
Установить ее можно CL командой CHGCURLIB.
В iSeries navigator Run SQL Scripts окне:
Код: plaintext
CL: CHGCURLIB CURLIB(имя_библиотеки);
При обращении к таблице (вью) просматривается список библиотек (library list) слева направо до совпадения имени.
При обращении к процедуре (функции), просматриваются схемы из переменной current path слева направо до соответствия кол-ва и типов параметров.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34445307
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Начало дышать.

Следующая проблема: В V5R3 Create table ( View ) есть возможность задать имя-синоним поля

name2 for column name

и кодеры часто этой возможностью пользовались. Есть ли возможность подстроится под данность в LUW?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34446567
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это не совсем имя-синоним.
Это нотация: "sql_имя" for "system_имя".
Системное имя поля не может быть больше 10 символов длиной и содержать некоторые доступные в sql имени символы.
Если sql имя недопустимо для системного, система генерирует системное имя сама, либо это может сделать разработчик.
В sql командах можно использовать и то, и другое имя.
В DB2 for LUW такой возможности (ссоздать алиас на поле) нет.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34447481
xxxxxxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще addlible
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34457124
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, имена заменим в динамике.

Далее, попались процедуры на РПГ. Правильно ли я понимаю, что на Win я данного раритета не найду?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34457166
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ValPotДалее, попались процедуры на РПГ. Правильно ли я понимаю, что на Win я данного раритета не найду?Да.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34485913
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В рамках тестирования надо гонять тучу табличек туда-сюда (V5R3 <-> LUW 9.1 .) через файлы на диске. Нельзя ли примерчиком ( на одной табличке) показать, как это делают мастера?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34486325
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ли у вас
db2 connect
или
db2 ese for LUW?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34486535
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
 Есть ли у вас 
db2 connect 
Это я пока не осваивал.

Код: plaintext
1.
  db2 ese for LUW?

Тут я пользуюсь db2 esс.

Мастера на V5R3 посоветовали пару

CL: SAVOBJ OBJ(tab) LIB(mylib) DEV(*SAVF) OBJTYPE(*FILE) SAVF(mylib/MYSAVFILE)

CL: RSTOBJ OBJ(tab) SAVLIB(mylib) DEV(*SAVF) SAVF(mylib/MYSAVFILE) RSTLIB(mylib)

, но не знают есть ли возможность восстановить данный формат на db2 esс.

На случай, если нет дали самопальную процедуру выгрузки в DBF. Но такую на db2 esс for LUW придется писать самому. Как то коряво пока получается.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34486840
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
    #34487768
RomanSavelyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мастера на V5R3 посоветовали пару
CL: SAVOBJ OBJ(tab) LIB(mylib) DEV(*SAVF) OBJTYPE(*FILE) SAVF(mylib/MYSAVFILE)
CL: RSTOBJ OBJ(tab) SAVLIB(mylib) DEV(*SAVF) SAVF(mylib/MYSAVFILE) RSTLIB(mylib)

но не знают есть ли возможность восстановить данный формат на db2 esс.
Из аэски можно выгружать в любых форматах.
см. команды CPYTO*, в частности - CPYTOIMPF
(команды там интерактивные, нажал F4 - и заполняй форму)
Можно в IXF (IBMовский универсальный обменный формат), можно в текст с разделителями/фикс. размера.

Кстати, если настроен нормальный доступ с PC - издавайте export/import из того же QuestCentral, что и обычно :)

На случай, если нет дали самопальную процедуру выгрузки в DBF. Но такую на db2 esс for LUW придется писать самому. Как то коряво пока получается.
Нет, не стОит - это извращение. К тому же через DBF далеко не все типы данных корректно пронести можно.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34492666
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите с перегрузкой данных.
Делаю выгрузку(V5R3):"CL: CPYTOIMPF FROMFILE(WHBRANCH/BANK ) TOSTMF('/branches/pt/BANK ') MBROPT(*REPLACE) RCDDLM(*CRLF) FLDDLM(';')"
Загружаю в LUW:
LOAD FROM "C:\Projects\AValentin\branchs\pt\BANK" OF DEL METHOD P (1, 2, 3) MESSAGES "C:\1" REPLACE INTO WHBRANCH.BANK (K_BANK, BRANCH_ID, A_BANK) COPY NO INDEXING MODE AUTOSELECT;
Получаю лог:
SQL3519W Начинается обработка точки совместимости при загрузке. Счетчик
входных записей = "0".

SQL3520W Точка совместимости при загрузке пройдена успешно.

SQL3114W Данные, следующие за "1" в строке "1" и столбце
"сфтщ@@@@@@@@^тр@@@@@@@@@^№Ооѕ", не были загружены.

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

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

SQL3519W Начинается обработка точки совместимости при загрузке. Счетчик
входных записей = "1".

SQL3520W Точка совместимости при загрузке пройдена успешно.

SQL3515W Утилита завершила стадию "LOAD" в момент "27.04.2007
13:02:53.027489".

SQL3107W В файле сообщений есть по крайней мере одно предупреждение.


Число прочитанных строк = 1
Число пропущенных строк = 0
Число загруженных строк = 1
Число отклоненных строк = 0
Число удаленных строк = 0
Число принятых строк = 1

В рез-те: ничего не загрузилось, исх. таблица содержит более 10-ти записей.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493021
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxDMAПриведите ddl таблицы и несколько строк файла.
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493219
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл:
сфтщ@@@@@@@@^тр@@@@@@@@@^№Ооѕ№`є№ЪНk@ѕ`О@К№є№ЮЫнЯНЛМ@@@@@@@@@@@@@^Ы№Ы@№Ооѕ№`є№ЪН@К№є№ЮЫнЯНЛМ@ѕЛОЛ№О@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^рфршсуччр^
ddl:
CREATE TABLE "WHBRANCH"."BANK" (
"K_BANK" DECIMAL(10,0) WITH DEFAULT NULL ,
"BRANCH_ID" DECIMAL(9,0) WITH DEFAULT NULL ,
"A_BANK" CHAR(40) WITH DEFAULT NULL ,
"N_BANK" CHAR(100) WITH DEFAULT NULL ,
"MFO" CHAR(9) WITH DEFAULT NULL ,
"K_UCH" CHAR(20) WITH DEFAULT NULL ,
...)
IN "USERSPACE1" ;
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493271
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Установил кодовую страницу 1025, вроде поехало, но не все столбцы проходят...
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493305
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxDMAУстановил кодовую страницу 1025, вроде поехало, но не все столбцы проходят...Строки из файла?
Ошибка?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493428
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
log:
SQL3123W Значение поля в строке "39983" и столбце "1" невозможно
преобразовать в значение типа PACKED DECIMAL. Было загружено пустое значение
(null).
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493523
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может часть проблемы в том, что на V5R3 при создании символьных полей табличек использовалась малопонятная конструкция CCSID 1025, которая при переезде в LUW была просто удалена из Create table ?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493547
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, он закомментарена в скрипте создания. И что делать?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493553
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спотыкается то на численном столбце
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493585
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxDMAlog:
SQL3123W Значение поля в строке "39983" и столбце "1" невозможно
преобразовать в значение типа PACKED DECIMAL. Было загружено пустое значение
(null).- Алло, доктор!
- Да? Слушаю.
- Когда я делаю ТАК, то мне ...
А-а-а-а! Больно!!!
Что мне делать?
Помогите!!!

P.S.:
Вы строку 39983 (и пару соседних для сравнения) из файла покажите?
Или так и будете заставлять здесь всех гадать, что же у вас там, в этой строке в столбце 1?
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493652
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица:
CREATE TABLE WHBRANCH.FPART (
"PART" INTEGER DEFAULT NULL ,
PART_NAME CHAR(10) /* CCSID 1025 */ DEFAULT NULL ) ;
Содержание:
0 Целое
1 Часть
2 Сальдо
-1 null
Выгружаем:
CL: CPYTOIMPF FROMFILE(WHBRANCH/FPART ) TOSTMF('/branches/pt/FPART ') MBROPT(*REPLACE) RCDDLM(*CRLF) FLDDLM(';')
Получаем файл:
р@@@@@@@@@@^Ђ‹›ћ‹@@@@@
%с@@@@@@@@@@^¶w«¬°@@@@@
%т@@@@@@@@@@^«w›°Љћ@@@@
%`с@@@@@@@@@^^
%
Загружаем:
LOAD FROM "C:\FPART" OF DEL MODIFIED BY CODEPAGE=1025 USEDEFAULTS METHOD P (1, 2) MESSAGES "C:\1" REPLACE INTO WHBRANCH.FPART ("PART", PART_NAME) COPY NO INDEXING MODE AUTOSELECT;
В итоге:
Пустая таблица,
Лог:
SQL3520W Точка совместимости при загрузке пройдена успешно.

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

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

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

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

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

SQL3519W Начинается обработка точки совместимости при загрузке. Счетчик
входных записей = "4".

SQL3520W Точка совместимости при загрузке пройдена успешно.

SQL3515W Утилита завершила стадию "LOAD" в момент "27.04.2007
17:03:56.390963".

SQL3107W В файле сообщений есть по крайней мере одно предупреждение.


Число прочитанных строк = 4
Число пропущенных строк = 0
Число загруженных строк = 4
Число отклоненных строк = 0
Число удаленных строк = 0
Число принятых строк = 4
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493689
MaxDMA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выгруженный файл
...
Рейтинг: 0 / 0
"Схемотехника" V5R3 vs. LUW 9.1
    #34493746
RomanSavelyev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxDMAПомогите с перегрузкой данных.
Делаю выгрузку(V5R3):"CL: CPYTOIMPF FROMFILE(WHBRANCH/BANK ) TOSTMF('/branches/pt/BANK ') MBROPT(*REPLACE) RCDDLM(*CRLF) FLDDLM(';')"

Забыли указать перекодировку из 1025 в 1251.

"Шифровка" - подумал Мюллер
"EBCDIC" - подумал Штирлиц
...
Рейтинг: 0 / 0
"Схемотехника" 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
39 сообщений из 39, показаны все 2 страниц
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / "Схемотехника" V5R3 vs. LUW 9.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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