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


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