Appserver и две базы данных

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область
Контактная информация:

Appserver и две базы данных

Сообщение MaksimZ » 02 авг 2014, 09:25

Appserver подключен к двум различным базам данных в режиме State-free Win 32 10.2bSp03. Appserver и базы данных на одном компьютере.
При вызове программы из C# , периодически пропадает подключение всегда к одной из баз данных.
Например. Запускается в цикле программа. В ней создаются записи как в одной, так и в другой базе данных.
Два раза программа запускается корректно, на третий пишет, что ко второй базе нет подключения, и так регулярно. Два раза есть - один нет. Привожу лог из программы на C#.


/*************************************************************************************/

[19:54:09:781]Запуск пешки crA05.p, Входные параметры Строка параметров:commit-3patientcod1292041
Для вставки:commit" + CHR(2) + "-3" + CHR(1) + "patientcod" + CHR(2) + "1292041" + CHR(1) + "
[b][19:54:09:921]Пешка отработала корректно, ответ
[i][19:54:09:921]Запуск пешки crA05.p, Входные параметры Строка параметров:
[/b][/i]
[19:54:10:78]Закрыт плагин: RunAnyVoid
[19:54:10:78]Активацмя формы: ОтправкаДанных
[19:54:10:78]Разблокировка плагина Отправка данных
[19:54:10:109]Запуск плагина: RunAnyVoid
[19:54:10:109]Блокирование родительского окна: ОтправкаДанных
[19:54:10:109]Блокировка плагина Отправка данных
[19:54:10:531]Запуск пешки crA05.p, Входные параметры Строка параметров:commit-3patientcod730459
Для вставки:commit" + CHR(2) + "-3" + CHR(1) + "patientcod" + CHR(2) + "730459" + CHR(1) + "
[19:54:10:609]Пешка отработала корректно, ответ

[19:54:10:609]Запуск пешки crA05.p, Входные параметры Строка параметров:
[19:54:10:750]Закрыт плагин: RunAnyVoid
[19:54:10:750]Активацмя формы: ОтправкаДанных
[19:54:10:750]Разблокировка плагина Отправка данных
[19:54:10:796]Запуск плагина: RunAnyVoid
[19:54:10:796]Блокирование родительского окна: ОтправкаДанных
[19:54:10:796]Блокировка плагина Отправка данных
[19:54:11:218]Запуск пешки crA05.p, Входные параметры Строка параметров:commit-3patientcod340192
Для вставки:commit" + CHR(2) + "-3" + CHR(1) + "patientcod" + CHR(2) + "340192" + CHR(1) + "
[b][19:54:11:312]Пешка отработала корректно, ответ

[19:54:11:312]Запуск пешки crA05.p, Входные параметры Строка параметров:
Для вставки:[/b]
[b][19:54:11:375]Произошла ошибка: Progress.Open4GL.Exceptions.RunTime4GLErrorException: ERROR condition: crA05.p Database polis not connected. (1006) (7211) [/b]
[19:54:11:390]Закрыт плагин: RunAnyVoid

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Appserver и две базы данных

Сообщение George » 03 авг 2014, 17:29

В лог базы, в лог аппсервера ничего не пишется?

MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область
Контактная информация:

Re: Appserver и две базы данных

Сообщение MaksimZ » 04 авг 2014, 18:23

George писал(а):В лог базы, в лог аппсервера ничего не пишется?



[14/08/01@20:15:54.328+0400] P-006120 T-006132 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:54.328+0400] P-006120 T-006132 4 AS AS -- TRACE: cso4GL: After successfull loadProc() (8458)
[14/08/01@20:15:54.328+0400] P-006120 T-006132 4 AS AS -- TRACE: Set open 4GL server state to 2. (8400)
[14/08/01@20:15:54.328+0400] P-006120 T-006132 4 AS AS -- TRACE: cso4GL: In execProc() - before execution. (8458)
[14/08/01@20:15:54.328+0400] P-006120 T-006132 1 AS -- (Procedure: 'crA04.p' Line:643) polis
[14/08/01@20:15:54.328+0400] P-006120 T-006132 1 AS -- (Procedure: 'crA04.p' Line:646) lFlag = no id_naprav = 0
[14/08/01@20:15:54.531+0400] P-006120 T-006132 1 AS -- (Procedure: 'crA04.p' Line:745) ikol= 1
[14/08/01@20:15:54.531+0400] P-006120 T-006132 1 AS -- (Procedure: 'crA04.p' Line:791) lOK yes
[14/08/01@20:15:54.531+0400] P-006120 T-006132 1 AS -- (Procedure: 'crA04.p' Line:845) <?xml version="1.0" encoding="wind
[14/08/01@20:15:54.546+0400] P-006120 T-006132 3 AS AS -- TRACE: Non-PERSISTENT Procedure END SUCCESS. (8397)

[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS -- TRACE: cso4GL: In execProc() - successful execution. (8458)
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS -- TRACE: cso4GL: In execCall() - execProc() success. (8458)
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS -- TRACE: Set open 4GL server state to 3. (8400)
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS Server Message state = MSGSTATE_SENDRESP
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS -- TRACE: Set open 4GL server state to 11. (8400)
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS -- TRACE: Set open 4GL server state to 1. (8400)
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS -- TRACE: open4GLRead 591. (8403)
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS Server Message state = MSGSTATE_FINISHRQ
[14/08/01@20:15:54.546+0400] P-006120 T-006132 4 AS AS Server Message state = MSGSTATE_IDLE
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS Server Message state = MSGSTATE_INITRQ
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS Server Message state = MSGSTATE_RECVLAST
[14/08/01@20:15:55.015+0400] P-006124 T-003908 3 AS AS requestID= <REQ|O4GL-000014>
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: Open4GLWriteLast 106. (8401)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: Open4GLWrite 106. (8402)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: cso4GL: Before loadProc() (8458)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: cso4GL: loadProc() failed. (8458)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: Set open 4GL server state to 5. (8400)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS Server Message state = MSGSTATE_SENDRESP
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: Set open 4GL server state to 1. (8400)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 1 AS -- crA04.p Database POLIS not connected. (1006)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: open4GLRead 73. (8403)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS Server Message state = MSGSTATE_FINISHRQ
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS Server Message state = MSGSTATE_IDLE
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS Server Message state = MSGSTATE_INITRQ
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS Server Message state = MSGSTATE_RECVLAST
[14/08/01@20:15:55.218+0400] P-006112 T-006140 3 AS AS requestID= <REQ|O4GL-000015>
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: Open4GLWriteLast 81. (8401)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: Open4GLWrite 81. (8402)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: cso4GL: Before loadProc() (8458)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: cso4GL: loadProc() failed. (8458)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: Set open 4GL server state to 5. (8400)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS Server Message state = MSGSTATE_SENDRESP
[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: Set open 4GL server state to 1. (8400)
[14/08/01@20:15:55.218+0400] P-006112 T-006140 1 AS -- crA04.p Database POLIS not connected. (1006)

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Appserver и две базы данных

Сообщение George » 04 авг 2014, 22:43

[14/08/01@20:15:54.328+0400] P-006120 T-006132 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:54.328+0400] P-006120 T-006132 4 AS AS -- TRACE: cso4GL: After successfull loadProc() (8458)

[14/08/01@20:15:55.015+0400] P-006124 T-003908 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: cso4GL: loadProc() failed. (8458)


Отключение от базы произошло между 20:15:54.328 и 20:15:55.015. Если в логе базы за этот короткий интервал времени не было сообщения об отключении сессии, то значит процедура отключения просто не успела завершиться. Но потом-то сессия должна была бы в итоге отключиться. Стоит grep'нуть лог базы по "P-006120".

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва
Контактная информация:

Re: Appserver и две базы данных

Сообщение dmi » 05 авг 2014, 10:11

Если скомпилировать процедуры - то же самое?
/dmi

http://pro4gl.ru - 4gl блог

MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область
Контактная информация:

Re: Appserver и две базы данных

Сообщение MaksimZ » 05 авг 2014, 15:41

dmi писал(а):Если скомпилировать процедуры - то же самое?

Процедуры скомпилированные, лежат вместе с исходниками в одной директории. Из из кода C# вызываются с расширением *.p

Forerunner
Старожил
Сообщения: 64
Зарегистрирован: 13 сен 2006, 10:53

Re: Appserver и две базы данных

Сообщение Forerunner » 06 авг 2014, 12:04

А разве вот это сообщение возникает при отсутствии подключения к БД?

[14/08/01@20:15:55.218+0400] P-006112 T-006140 4 AS AS -- TRACE: cso4GL: loadProc() failed. (8458)


Сейчас у себя проверю...

Forerunner
Старожил
Сообщения: 64
Зарегистрирован: 13 сен 2006, 10:53

Re: Appserver и две базы данных

Сообщение Forerunner » 06 авг 2014, 12:11

Проверил, возникает.

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва
Контактная информация:

Re: Appserver и две базы данных

Сообщение dmi » 06 авг 2014, 13:47

как подключены БД, какие алиасы, одинаковая ли у них структура или нет ... , если напихать отладки по подключению базы и куда какой алиас смотрит?

то есть, у тебя запущен сервер приложений, при запуске он соединяется с БД в стартап-процедуре принудительно через pf.
И дисконнектов нигде нет?
Ты попадаешь в третий раз на какой агент?
Что promon говорит по соединениям от сервера приложений.
Можно ли в песочнице повторить?
/dmi



http://pro4gl.ru - 4gl блог

MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область
Контактная информация:

Re: Appserver и две базы данных

Сообщение MaksimZ » 06 авг 2014, 19:28

dmi писал(а):как подключены БД, какие алиасы, одинаковая ли у них структура или нет ... , если напихать отладки по подключению базы и куда какой алиас смотрит?

то есть, у тебя запущен сервер приложений, при запуске он соединяется с БД в стартап-процедуре принудительно через pf.
И дисконнектов нигде нет?
Ты попадаешь в третий раз на какой агент?
Что promon говорит по соединениям от сервера приложений.
Можно ли в песочнице повторить?



"@{Startup\DLC}\bin\_proapsv.exe"
Server startup parameters: -db f:\clients\boln6\polik\ibol -db d:\galen\departam\iboldb\polis
PROPATH: @{WinChar Startup\PROPATH};@{WorkPath};@{WorkPath};F:\Project G\appserver\
Minimum port number: 2002
Maximum port number: 2202
Flush statistical data: 255


Базы данных разные по структуре.

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва
Контактная информация:

Re: Appserver и две базы данных

Сообщение dmi » 06 авг 2014, 23:16

Стартап/коннект процедуры есть?
/dmi



http://pro4gl.ru - 4gl блог

MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область
Контактная информация:

Re: Appserver и две базы данных

Сообщение MaksimZ » 07 авг 2014, 16:09

dmi писал(а):Стартап/коннект процедуры есть?

Дмитрий, не понял про какие процедуры ты спрашиваешь :(

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва
Контактная информация:

Re: Appserver и две базы данных

Сообщение dmi » 07 авг 2014, 21:18

MaksimZ писал(а):
dmi писал(а):Стартап/коннект процедуры есть?

Дмитрий, не понял про какие процедуры ты спрашиваешь :(



а, у тебя state-free.
/dmi



http://pro4gl.ru - 4gl блог

MaksimZ
Старожил
Сообщения: 433
Зарегистрирован: 08 авг 2005, 15:24
Откуда: Рыбинск. Ярославская область
Контактная информация:

Re: Appserver и две базы данных

Сообщение MaksimZ » 08 авг 2014, 09:26

George писал(а):
[14/08/01@20:15:54.328+0400] P-006120 T-006132 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:54.328+0400] P-006120 T-006132 4 AS AS -- TRACE: cso4GL: After successfull loadProc() (8458)

[14/08/01@20:15:55.015+0400] P-006124 T-003908 2 AS AS -- TRACE: Non-PERSISTENT Procedure 'crA04.p' START. (5498)
[14/08/01@20:15:55.015+0400] P-006124 T-003908 4 AS AS -- TRACE: cso4GL: loadProc() failed. (8458)


Отключение от базы произошло между 20:15:54.328 и 20:15:55.015. Если в логе базы за этот короткий интервал времени не было сообщения об отключении сессии, то значит процедура отключения просто не успела завершиться. Но потом-то сессия должна была бы в итоге отключиться. Стоит grep'нуть лог базы по "P-006120".[/quote
Попытался понять что такое "P-006120" сайт http://www.knowledgebase.progress.com/ не открывается

Аватара пользователя
Arelav
Администратор
Сообщения: 1880
Зарегистрирован: 25 мар 2005, 17:05
Откуда: Progress Technologies
Контактная информация:

Re: Appserver и две базы данных

Сообщение Arelav » 08 авг 2014, 10:01

MaksimZ писал(а): сайт http://www.knowledgebase.progress.com/ не открывается

Не используйте www
http://knowledgebase.progress.com/