|
|
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
Доброго Вам времени суток! Хотел задать невкусный вопрос!!! Есть программа на PB-9.0, которая дёргает процедуру на Sybase -12.5. Если юзверовскую сессию отстреливают от сервака, во время выполнения хп. То прога бесконечно тупо висит и ошибку не возвращает!!! Приходится юзерам перезапускать прогу!!! Как с этим бороться, как установить на серваке время, чтобы сам сервак видел, что сессии нет, её оборвали и возвращал ошибку клиету или в коннекте что нить поменять!А то что то вроде просто, а мозги пока <censored> не думают! Спасибо!!! Модератор: спокойствие, только спокойсивте! (с) Карлсон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 13:15 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
Параметры коннекта : sqlca.dbparm = "AppName='Proga',Host='RKC'" sqlca.autocommit = TRUE sqlca.Lock = "" sqlca.userid = "" sqlca.dbpass = "" sqlca.logid = "Preved" sqlca.logpass = ''Preved_" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 13:23 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
boogimanКак с этим бороться, как установить на серваке время, чтобы сам сервак видел, что сессии нет, её оборвали и возвращал ошибку клиету или в коннекте что нить поменять! Дык как же он возвратит-то, если коннект отстрелили? Тут нужен второй коннект для мониторинга в параллельном потоке. Либо просто по истечении определенного таймаута что-то делать в нем. В хелпе читать начиная с SharedObjectRegister, и на сайте что-то было... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 14:59 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
Какой еще второй коннект? При принудительном завершении сеанса сервером клиентская часть сразу должна это обнаружить (например по закрытию сетевого сокета) и вернуть соответствующую ошибку в вызывающую программу. По крайней мере в Оракле так и происходит. Не думаю что в других СУБД по-другому. Если все происходит по указанному выше сценарию, то значит надо эту ошибку обработать корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 15:29 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyКакой еще второй коннект? ну судя по этому boogimanТо прога бесконечно тупо висит и ошибку не возвращает!!! клиентская часть этого не обнаруживает, хотя это действительно странно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 15:52 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
Вы правы оба!!! В других комплексах юзающих те же серваки происходит сразу ошибка clt_connected false и всё такое!!! А здесь тупое зависание, в чём дело пока не пойму!!! Сами коннекты вроде одинаковы!!! Гуру подсказали в самих настройках сервака поставить KeepAliveTime=60000, должно помочь посмотрим!!! Имхо... второй коннект точно не нужен, чуствуется мне что это изврат (не в обиду Марку)!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 16:22 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
boogimanДоброго Вам времени суток! Хотел задать невкусный вопрос!!! Есть программа на PB-9.0, которая дёргает процедуру на Sybase -12.5. Если юзверовскую сессию отстреливают от сервака, во время выполнения хп. То прога бесконечно тупо висит и ошибку не возвращает!!! Приходится юзерам перезапускать прогу!!! Как с этим бороться, как установить на серваке время, чтобы сам сервак видел, что сессии нет, её оборвали и возвращал ошибку клиету или в коннекте что нить поменять!А то что то вроде просто, а мозги пока <censored> не думают! Спасибо!!! Видимо, у Вас некорректный код на клиенте. Я встречался с ситуацией, когда писался код типа Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 16:31 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
boogimanГуру подсказали в самих настройках сервака поставить KeepAliveTime=60000, должно помочь посмотрим!!! Имхо... второй коннект точно не нужен, чуствуется мне что это изврат Ну так KeepAliveTime это, как я понимаю, время ожидания (но оно же на сервере), а на сервере то коннект то уже отстрелили. Логично, что это в настройках клиента где-то быть должно... Или самой програмкой за этим делом смотреть. А смотреть можно либо по превышении времени исполнения запроса какого-то порога, либо в другом коннекте проверять наличие первого... Что-то более простого не придумывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 16:54 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
>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-файл! Ничего страшного я в этом не вижу!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 17:08 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
boogimanНичего страшного я в этом не вижу!!! Если после каждого из операторов обращения к базе стоят операторы проверки кода возврата, то, дествительно, ничего страшного ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 18:08 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
boogiman W_MAB.dw_6.retrieve() А что находится в событии dberror в dw_6 или в предках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 18:39 |
|
||
|
Непонятки с зависанием проги на PB-9!
|
|||
|---|---|---|---|
|
#18+
> to ytrewq Да, конечно стоят! > to Anatoly Moskovsky Да нет там никаких предков!! Обычная datawindow (выполняется долгий ретрив в процедуре всё это фигачится в большую темповую таблицу, строчек на 1000, а потом сохраняется в xml -файл)!!! dberror - я не обрабатываю!!! Да ладно сейчас схожу в отпуск на 5 дней, вернусь расколю глючок,как орех за минут 30 после возвращения, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2006, 22:56 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33994939&tid=1337601]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 330ms |

| 0 / 0 |
