Форум: "Базы";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
ВнизTimeout BDE Найти похожие ветки
← →
neXt (2003-03-12 16:57) [0]бд: MSSQL; клиент на BDE
Выполняется запрос, TQuery, в нём вызывается дерево процедур. В них открываются и закрываются транзакции.
В случае если запрос обрывается по таймауту (BDE, а не серверный) запрос обрывается на полуслове и генерится соответствующий Exception. Коннектион не обрывается и в нём остаются незакрытые транзакции. Пользователь повторяет попытку (10 раз) и сервер падает из-за блокировок в повисших транзакциях.
Кто-нибудь сталкивался с такой проблемой?
ЗЫ: Рецепт - увеличь таймаут я знаю.
← →
Delirium (2003-03-12 17:04) [1]Стандартные рекомендации:
1) Запусти 10 раз из Query Analyser, если ошибок нет - поблема в проге (или в BDE)
2) Смотри что предаётся MSSQL в Profiler-е, всё-ли правильно
3) Смотри заблокированные объекты в Enterprise Manager-е и сопоставь их с о своими транзакциями
← →
neXt (2003-03-12 17:15) [2]Повторяю:
Я знаю в чём ошибка. Это ошибка генерируемая BDE ( BDE code за номером 13059) - вылет по таймауту.
Я знаю какой запрос шлётся на сервер. Там процедуры работают! в том числе используют транзакции.
Проблема в том что при вылете BDE не закрывает транзакции.
← →
neXt (2003-03-12 17:16) [3]ЗЫ: разумеется Query Analyser не причём - вопрос по работе с BDE
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c