powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Непонятки с зависанием проги на PB-9!
13 сообщений из 13, страница 1 из 1
Непонятки с зависанием проги на PB-9!
    #33993763
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго Вам времени суток! Хотел задать невкусный вопрос!!!
Есть программа на PB-9.0, которая дёргает процедуру на Sybase -12.5. Если юзверовскую сессию отстреливают от сервака, во время выполнения хп. То прога бесконечно тупо висит и ошибку не возвращает!!! Приходится юзерам перезапускать прогу!!! Как с этим бороться, как установить на серваке время, чтобы сам сервак видел, что сессии нет, её оборвали и возвращал ошибку клиету или в коннекте что нить поменять!А то что то вроде просто, а мозги пока <censored> не думают! Спасибо!!!

Модератор: спокойствие, только спокойсивте! (с) Карлсон
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33993803
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Параметры коннекта :

sqlca.dbparm = "AppName='Proga',Host='RKC'"
sqlca.autocommit = TRUE
sqlca.Lock = ""
sqlca.userid = ""
sqlca.dbpass = ""

sqlca.logid = "Preved"
sqlca.logpass = ''Preved_"
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994229
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boogimanКак с этим бороться, как установить на серваке время, чтобы сам сервак видел, что сессии нет, её оборвали и возвращал ошибку клиету или в коннекте что нить поменять!
Дык как же он возвратит-то, если коннект отстрелили? Тут нужен второй коннект для мониторинга в параллельном потоке. Либо просто по истечении определенного таймаута что-то делать в нем. В хелпе читать начиная с SharedObjectRegister, и на сайте что-то было...
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994350
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой еще второй коннект?

При принудительном завершении сеанса сервером клиентская часть сразу должна это обнаружить (например по закрытию сетевого сокета) и вернуть соответствующую ошибку в вызывающую программу.
По крайней мере в Оракле так и происходит. Не думаю что в других СУБД по-другому.

Если все происходит по указанному выше сценарию, то значит надо эту ошибку обработать корректно.
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994444
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyКакой еще второй коннект?
ну судя по этому
boogimanТо прога бесконечно тупо висит и ошибку не возвращает!!!
клиентская часть этого не обнаруживает, хотя это действительно странно...
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994559
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы правы оба!!! В других комплексах юзающих те же серваки происходит сразу ошибка clt_connected false и всё такое!!! А здесь тупое зависание, в чём дело пока не пойму!!! Сами коннекты вроде одинаковы!!! Гуру подсказали в самих настройках сервака поставить KeepAliveTime=60000, должно помочь посмотрим!!! Имхо... второй коннект точно не нужен, чуствуется мне что это изврат (не в обиду Марку)!!!
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994602
ytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boogimanДоброго Вам времени суток! Хотел задать невкусный вопрос!!!
Есть программа на PB-9.0, которая дёргает процедуру на Sybase -12.5. Если юзверовскую сессию отстреливают от сервака, во время выполнения хп. То прога бесконечно тупо висит и ошибку не возвращает!!! Приходится юзерам перезапускать прогу!!! Как с этим бороться, как установить на серваке время, чтобы сам сервак видел, что сессии нет, её оборвали и возвращал ошибку клиету или в коннекте что нить поменять!А то что то вроде просто, а мозги пока <censored> не думают! Спасибо!!!


Видимо, у Вас некорректный код на клиенте. Я встречался с ситуацией, когда писался код типа
Код: plaintext
1.
2.
3.
4.
while (код ошибки <>  0 )
  begin
   select id from TABLE where id = :code for update nowait;
   sleep( 1 );
  end;
Надо было залучить строку из таблицы. В 99% все было о-кей, а в случае обрыва связи или еще чего-то, естественно, было зацикливание.
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994691
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boogimanГуру подсказали в самих настройках сервака поставить KeepAliveTime=60000, должно помочь посмотрим!!! Имхо... второй коннект точно не нужен, чуствуется мне что это изврат
Ну так KeepAliveTime это, как я понимаю, время ожидания (но оно же на сервере), а на сервере то коннект то уже отстрелили. Логично, что это в настройках клиента где-то быть должно... Или самой програмкой за этим делом смотреть. А смотреть можно либо по превышении времени исполнения запроса какого-то порога, либо в другом коннекте проверять наличие первого... Что-то более простого не придумывается.
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994743
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>to ytrewq

Нет у меня делается так!!!

1. создаётся темповая таблица на клиенте

str_im = 'create table #data_id (id numeric (12,0) identity , iddoc varchar(40), PRIMARY KEY CLUSTERED (id)) '
execute immediate :str_im using sqlca;

2. Заполняется
insert into #data_id (iddoc) values (:id) using sqlca;


3. Делается
W_MAB.dw_6.SettransObject(SQLCA)
W_MAB.dw_6.retrieve()
(вызывается процедура, которая использует темповую таблицу)

4.
W_MAB.dw_6.SaveAS(str_file, text!,false) - сохраняется в xml-файл!

Ничего страшного я в этом не вижу!!!
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33994939
ytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boogimanНичего страшного я в этом не вижу!!!
Если после каждого из операторов обращения к базе стоят операторы проверки кода возврата, то, дествительно, ничего страшного ...
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33995034
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boogiman
W_MAB.dw_6.retrieve()


А что находится в событии dberror в dw_6 или в предках?
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33995370
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> to ytrewq
Да, конечно стоят!

> to Anatoly Moskovsky
Да нет там никаких предков!! Обычная datawindow (выполняется долгий ретрив в процедуре всё это фигачится в большую темповую таблицу, строчек на 1000, а потом сохраняется в xml -файл)!!! dberror - я не обрабатываю!!!

Да ладно сейчас схожу в отпуск на 5 дней, вернусь расколю глючок,как орех за минут 30 после возвращения, спасибо!
...
Рейтинг: 0 / 0
Непонятки с зависанием проги на PB-9!
    #33996168
ytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удачи.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Непонятки с зависанием проги на PB-9!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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