Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вопрос про AIX и про DB2 и про разные версии DB2 / 25 сообщений из 27, страница 1 из 2
31.08.2005, 20:29
    #33244527
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
у меня есть кое-какое middleware (vagen server), это набор библиотек. программа линкуется с этим vagen server.

при смене версий db2 нужно сделать ряд манипуляций с shared oject этого vagen server.

--------
ar -vx <>/libdb2.a
mv shr.o db2.o
дальше идет перелинковка vagen's shared object с db2.o
makeC++share ..... много опций.
---------

если это не сделать, shared object cannot be loaded in runtime. о чем честно написано в документации.

я конечно примерно представляю, зачем это нужно, но видимо недостаточно, т.к. ниче не работает.

вопрос. что это собственно такое. и еще, а если программа линкуется напрямую с libdb2.a, её чтоли тоже нужно перелинковывать с новой libdb2.a при установке новой версии DB2 на AIX?
...
Рейтинг: 0 / 0
01.09.2005, 09:19
    #33244923
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
на сколько я понимаю, не обязятельно перелинковывать, но тогад некоторые новые фичи (client re-routing) не будут доступны. Хотя надо проверять.
Спросил бы ты на прошлой неделе, я бы проверил, у меня как раз миграция произошла.
Хотя еще и не поздно - я найду "старую" db2
...
Рейтинг: 0 / 0
01.09.2005, 14:34
    #33246133
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
тут как обычно помог фикспак.

блин, в установке сказано
-- если получили такую ошибку (shared object не грузится), перелинкуйтесь и будет щастье.

перелинковываюсь -- а щастья то и нет
...
Рейтинг: 0 / 0
01.09.2005, 14:44
    #33246176
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
блиииииииииин, зравствуй попа новый год.......
А я уже V7 поставил.
При чем нафик полностью V8 перестала работать - не могу говорит библиотеку 64-битную загрузить....
начал по-новой V8 ставить - на лицензию ругаться стало и ни в какую.
Короче, покой нам токо снится...
И все впустую.........
Снесу нафик V7 щаз (приложения-то уже слинкованные с ним есть) и опять V8/
Ну NewYear, ну удружил......
...
Рейтинг: 0 / 0
01.09.2005, 20:16
    #33247134
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
ну вот...

тогда я не буду говорить, что у меня еще не работает
...
Рейтинг: 0 / 0
02.09.2005, 08:43
    #33247420
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
Да не, ничё, нормально, такого рода experience тоже нужон.
Вот V8 уже запустил вчера вечером, щас проверю приложения, скомпиленные под V7, а затем опять буду ставить V7, чтобы понять, чё я не так сделал.
...
Рейтинг: 0 / 0
02.09.2005, 09:55
    #33247578
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
Ну вот, NewYear, приложение ESQL скомпиленное с V7.1 успешно работает с V8.1
...
Рейтинг: 0 / 0
05.09.2005, 14:43
    #33251901
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
вот еще нарыл.

1) wmq 6 есть только 64-бит
2) wmq 6 не может быть координатором для 32-бит db2
2) 32-битные приложения не работают с wmq 6. все бы хорошо, но когда дело доходит до старта двухфазной транзакции, вылетает 2122 и в лог пишется ошибка db2swit cannot be loaded.

так что только 64-бит db2 + 64-бит wmq + 64-бит приложение.

пошел ставить 5.3. а то 64-бит приложений у меня нет. и исходников тоже нет.
...
Рейтинг: 0 / 0
05.09.2005, 15:28
    #33252060
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
О как!
Вот это новость!
NewYear - где нарыл в доке?
Щас тоже проверю.
...
Рейтинг: 0 / 0
06.09.2005, 15:05
    #33254138
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
в доке не знаю где.

п 1. коллега где-то нашел.
п 2. в установка wmq 6 видел.
п 3. в процессе работы выяснилось

я сейчас снес уже wmq 6.

если в трассу wmq посмотреть, (тут уже 5.3 привожу) на MQBEGIN есть вот такой кусок:

Код: plaintext
1.
2.
3.
4.
30E   18.516731411       0.002218   Calling xcsLoadFunction, SwitchFile=/usr/mqm/samp/xatm/db2swit 
30D   18.516732600       0.001189   MQS FNC Entry..... 852122.1 xcsLoadFunction 
30E   18.516734062       0.001462   ObjectName(/usr/mqm/samp/xatm/db2swit) LoadType(1048576) 
30E   18.517700646       0.966584   Name(/usr/mqm/samp/xatm/db2swit) loaded with dlopen 

если процесс 32 - битный, а db2swit 64 битный, dlopen валится.
не понимаю, все это выполняется внутри приложения чтоли.
...
Рейтинг: 0 / 0
06.09.2005, 15:10
    #33254153
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
если db2swit 32-битный, то ошибка при старте менеджера.
...
Рейтинг: 0 / 0
06.09.2005, 15:13
    #33254163
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
Обязательно проверю
Начну наверное сегодня.
Во блин.
Засада...
...
Рейтинг: 0 / 0
06.09.2005, 18:42
    #33254833
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
ну только перекомпилять приложения.
Больше, видимо, никак
...
Рейтинг: 0 / 0
07.09.2005, 17:53
    #33257223
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
Ха! Работает! NewYear - с тебя причитается :)
Случайно обнаружил, пока объяснить не могу.

зашел ssh на aix, запускаю бинарь - работает.
Меня как током прошибло - как так? не должно!
быстро проверяю в сырце строку putenv("DB2INSTANCE=db2inst2"), вроде правильно, делаю
source /homt/db2inst2/sqllib/db2cshrc (ну tcsh у меня, ничего не поделать)
и затем db2level - 64 bit, все правильно.
Запускаю бинарь опять -
Could not load program ./get:
Could not load module /home/db2inst1/sqllib/lib/libdb2.a(shr.o).
Dependent module /home/db2inst2/sqllib/lib/libdb2trcapi.a(shr.o) could not be loaded.
Member shr.o is not found in archive
Could not load module get.
Dependent module /home/db2inst1/sqllib/lib/libdb2.a(shr.o) could not be loaded.
Could not load module .

И тут понимаю - все дело в переменных!
Ну методом исключения нашел - unsetenv LIBPATH и все работает.
Он у меня был LIBPATH=/usr/lib:/lib:/home/db2inst2/sqllib/lib

Век живи - век учись, и остолопом помрешь...
...
Рейтинг: 0 / 0
08.09.2005, 16:26
    #33259320
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
file get
file <>/db2swit.
...
Рейтинг: 0 / 0
08.09.2005, 16:36
    #33259346
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
+XAOpenString
+покажи, что в get есть MQBEGIN.

а то не верю :)
...
Рейтинг: 0 / 0
08.09.2005, 17:06
    #33259463
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
не, ну я понимаю, что эмоции через край, но все-таки хотелось бы более понятных вопросов
Ну поехали, по мере того как я понял вопросы

1)
ggv@minardi Thu 08 Sep 16:53 [~/work/test] > file get
get: executable (RISC System/6000) or object module not stripped

ggv@minardi Thu 08 Sep 16:57 [~/work/test] > file get64
get64: 64-bit XCOFF executable or object module not stripped

2)
ggv@minardi Thu 08 Sep 16:57 [~/work/test] > ll get get 64
64 not found
-rwxr-xr-- 1 ggv staff 25722 Sep 8 16:53 get
-rwxr-xr-- 1 ggv staff 25722 Sep 8 16:53 get

3)
XAResourceManager:
Name=sample
SwitchFile=db2swit
ThreadOfControl=THREAD
XAOpenString=sample

4)
MQBEGIN (hcon, &bo, &CompCode, &Reason);
if(Reason != MQRC_NONE){

fprintf(stderr, "Could not start UOW reason %d!\n", (int)Reason);
return (int)Reason;

}

EXEC SQL SET CONNECTION "SAMPLE";
if (sqlca.sqlcode != 0)
{
fprintf(stderr, "set connection %d\n", sqlca.sqlcode);
exit(1);
}

EXEC SQL SET CURRENT SCHEMA "GGV";
if (sqlca.sqlcode != 0)
{
fprintf(stderr, "set current schema %d\n", sqlca.sqlcode);
exit(1);
}

EXEC SQL DECLARE sel CURSOR FOR
select empno from employee;

fprintf(stderr, "declare cursor %d\n", sqlca.sqlcode);
if(sqlca.sqlcode != 0)
{
fprintf(stderr, "sqlcode %d\n", sqlca.sqlcode);
exit(1);
}

Далее отсебятина, возможно ключевая :)
5) Maktfile
CC=xlc_r
DB=sample
DB2PATH=/home/db2inst2/sqllib
MQMPATH=/usr/mqm
LIBS64=-L$(DB2PATH)/lib -L$(MQMPATH)/lib64 -lmqm -ldb2
LIBS=-L$(DB2PATH)/lib32 -L$(MQMPATH)/lib -lmqm -ldb2
CPPFLAGS=-I. -I$(DB2PATH)/include -I$(MQMPATH)/inc
CFLAGS=-g

get64: get.c
$(CC) -o $@ $? -qarch=auto -q64 $(CPPFLAGS) $(CFLAGS) $(LIBS64)

get: get.c
$(CC) -o $@ $? $(CPPFLAGS) $(CFLAGS) $(LIBS)

get.c: get.sqc
./bind.sh $(DB) get

Обрати внимание, что $(DB2PATH)/lib есть симлинк на lib64, потому как instance 64bit, вот proof
ggv@minardi Thu 08 Sep 17:03 [~/work/test] > source /home/db2inst2/sqllib/db2cshrc
ggv@minardi Thu 08 Sep 17:04 [~/work/test] > db2level
DB21085I Instance "db2inst2" uses "64" bits and DB2 code release "SQL08023"
with level identifier "03040106".
Informational tokens are "DB2 v8.1.1.96", "s050811", "U803920", and FixPak
"10".
Product is installed at "/usr/opt/db2_08_01".

ну и напоследок - putenv("DB2INSTANCE=db2inst2");
это в get.sqc
...
Рейтинг: 0 / 0
09.09.2005, 11:45
    #33260774
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
мы совсем про разные вещи говорим. про LIBPATH - то понятно.

интересует только MQBEGIN. -- остальное то и у меня работало.
именно в wmq 6. именно когда db2swit 64 -х разрядный (другой-то у меня не загрузился при старте qmgr с сообщением в лог и остановкой queue managera). если вдруг 32-битный загрузился -- тоже круто, тогда скорее всего дальше заработает. (интересно как).

как я понял иэ трассы, где-то в глубине MQBEGIN выполняется dlopen (db2swit ). который у меня не прошел, когда приложение было 32 бит.
это совсем другая ошибка.

вот как это заработало интересно.
...
Рейтинг: 0 / 0
09.09.2005, 11:59
    #33260845
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
не, ну а как у меня оно работает?
Ну ведь работает.
...
Рейтинг: 0 / 0
14.09.2005, 10:38
    #33268052
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
NewYear - ?
...
Рейтинг: 0 / 0
14.09.2005, 14:07
    #33268976
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
ggv, могу только предположить, что дело в XAOpenString.
у меня был указан полный путь к db2swit. просто других отличий нет.

сейчас просто не могу это проверить, т.к. сильно эагружен. в связи как раз с переходом на AIX. блин какй-нибудь гемморой вылезает на каждом шагу.

сейчас решили работать в связке db2+wmq+txseries. так что от схемы где wmq координатор мы пока ушли.
...
Рейтинг: 0 / 0
14.09.2005, 14:56
    #33269178
ggv
ggv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
NewYear, что-то мне сдается, что я с вашим генеральным (Илья) по телефону эту проблему обсуждал.
Что-то уж все к одному, и TXSeries, который я ему передал.....
Сговорились, что по-позжее, когда вы показ завершите, к проблеме вернемся, а пока создали 64bit instance.
Если конечно схожая проблема не возникла у двух контор, и обе решили ее обойти одним способом (cics)
А по сути - таки да, учитывая, что db2swit компилется в двух разрядностях, и что все равно ExitsDefaultPath установлен, то db2swit и без абсолютного пути найдется, причем корректный.
Кстати, а вот я щас попробую с абсолютным путем.
...
Рейтинг: 0 / 0
15.09.2005, 13:12
    #33271089
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
что-то мне сдается, я сегодня с тобой говорил по телефону.

>и обе решили ее обойти одним
не! оботи решили совсем другую проблему! это все из-за VisualAge Generator.

на С работает как с cics, так и без него.

>и что все равно ExitsDefaultPath установлен
а в wmq 6 их 2 почему-то. один для 32 бит, другой для 64 бит.
...
Рейтинг: 0 / 0
15.09.2005, 13:16
    #33271098
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
значит диск с TXSeries это я у тебя забрал.
...
Рейтинг: 0 / 0
15.09.2005, 13:58
    #33271221
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос про AIX и про DB2 и про разные версии DB2
Естественно, это я собирал стенд. Илья передал мне трубку.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вопрос про AIX и про DB2 и про разные версии DB2 / 25 сообщений из 27, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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