Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 AS400 - кто-нибудь делал CHGCURLIB ? / 11 сообщений из 11, страница 1 из 1
17.10.2005, 20:35
    #33329120
ska
ska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
Добрый денек.

Вопросец к экспертам по as400 - кто-нибудь нарывался на такую плюху ?
У меня есть таблица с тем же именем T и с одинаковой структурой но в разных библиотеках - LIB1 и LIB2.

Изначально делается CHGCURLIB 'LIB1' - из CL программы
Есть программка С++ или Кобол с embedded static (!!!) SQL:
EXEC SQL SELECT V INTO :V FROM T WHERE ...
когда надо достать чего-то из LIB2 на лету делается CHGCURLIB 'LIB2' и те де.

В какой-то момент в процессе транзакции после CHGCURLIB 'LIB2' этот
SELECT приносит запись из LIB1

Кто-нибудь сталкивался с таким ?

С Уважением,
Сергей.
...
Рейтинг: 0 / 0
17.10.2005, 20:38
    #33329121
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
А не проще ли делать
SET CURRENT SCHEMA LB1;
a потом
SET CURRENT SCHEMA LB2;
...
Рейтинг: 0 / 0
17.10.2005, 22:07
    #33329206
ska
ska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
К сожалению на AS400 это работает только для dynamic sql
...
Рейтинг: 0 / 0
18.10.2005, 09:00
    #33329436
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
а я вообще не пользуюсь такими плюшками. Легче просто явно указывать схему
при запросе.
select * from mylib1.table1
select * from mylib2.table1

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
18.10.2005, 09:07
    #33329450
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
а вообще, может это поможет:
Information Center
CHGCURLIB (Change Current Library) Command Description
Purpose

The Change Current Library (CHGCURLIB) command replaces the current library
entry of the library list.

Note: If the current library entry of the library list is
changed from a menu or program that has a current library associated with
it, then the current library changes are only in effect during the call
level of the menu or program from which it was changed.


Required Parameter

CURLIB
Specifies the library that replaces the current library entry in the job's
library list.
*CRTDFT: No library is the current entry of the library list. If objects
are created into the current library, the QGPL library is used as the
default.

library-name: Specify the name of the library that replaces the current
library entry in the job's library list.

Note: QTEMP cannot be specified for this parameter.

Example for CHGCURLIB

CHGCURLIB CURLIB(ULIB10)
This command changes the current library entry of the current job's library
list to contain library ULIB10.

Error messages for CHGCURLIB

*ESCAPE Messages

CPF2106
Library list not changed.
CPF2110
Library &1 not found.
CPF2113
Cannot allocate library &1.
CPF2133
First product library on library list destroyed.
CPF2134
Second product library on library list destroyed.
CPF2137
Current library on library list destroyed.
CPF2176
Library &1 damaged.
CPF2182
Not authorized to library &1
...
Рейтинг: 0 / 0
18.10.2005, 12:16
    #33330064
q
q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
select * from table1
chgcurlib
select * from table1

наверно после первого селекта файл 'table1' остатся открытым. chgcurlib скорее всего на открытый файл не подействует.
...
Рейтинг: 0 / 0
18.10.2005, 15:35
    #33330841
q
q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
riman
а я вообще не пользуюсь такими плюшками. Легче просто явно указывать схему
при запросе.
select * from mylib1.table1
select * from mylib2.table1

Posted via ActualForum NNTP Server 1.3

select * from mylib1.table1
select * from mylib2.table2

потом если нужно перед стартом программы можно переопределить mylib1.table1 и mylib2.table2 командой ovrdbf
...
Рейтинг: 0 / 0
19.10.2005, 08:59
    #33332081
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
q
select * from mylib1.table1
select * from mylib2.table2

потом если нужно перед стартом программы можно переопределить mylib1.table1 и mylib2.table2 командой ovrdbf

не понял - для чего? у него таблицы под одним и тем же именем, но в разных либах находятся. Для чего делать chgcurlib или ovrdbf, если можно достучаться до них по полному имени?
...
Рейтинг: 0 / 0
19.10.2005, 11:21
    #33332484
q
q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
как я понимаю чтобы иметь несколько environment (например development/productional)
...
Рейтинг: 0 / 0
19.10.2005, 18:48
    #33333862
ska
ska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
riman q
select * from mylib1.table1
select * from mylib2.table2

потом если нужно перед стартом программы можно переопределить mylib1.table1 и mylib2.table2 командой ovrdbf

не понял - для чего? у него таблицы под одним и тем же именем, но в разных либах находятся. Для чего делать chgcurlib или ovrdbf, если можно достучаться до них по полному имени?

У меня таких одинаковых библиотек около 25 и постепенно может дойти до 80. В каждой более 200 таблиц и с ними одновременно работают более 300 программ. Так что вариант с полным именем не катит (не держать же 300*25 = 7500 программ ради этого)
chgcurlib отрабатывает нормально. Просто DB2 в какой-то момент глючит.
...
Рейтинг: 0 / 0
01.01.2006, 21:49
    #33466848
ska
ska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 AS400 - кто-нибудь делал CHGCURLIB ?
FYI

Таки это был классный баг в DB2/400 !
IBM смогли таки его вычислить и зафиксать (месяц почти сидели на нашей тачке удаленно). Думаю скоро выпустят официальный патч.

--
Сергей
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 AS400 - кто-нибудь делал CHGCURLIB ? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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