Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.03.2001, 16:05
|
|||
|---|---|---|---|
|
|||
Смесь собственных ошибок и MS SQL глюков |
|||
|
#18+
Уже писал про свои проблемы Есть процедуры: create proc proc1 ........... exec proc2 ........... go create proc proc2 .......... .......... begin tran ................ update mytable set ..... ................ commit tran go Приложения работают через ODBC, используя QUERY_TIMEOUT Используют обе процедуры. Как-то заметил, что если MyTable заблокирована для обновления одним приложением (А) на длительное время, а другое приложение (Б) в это время выполняет Proc2, то по прошествии ODBC TimeOut приложение получает сообщение об ошибке от ODBC 'TimeOut exceeded',процедура прерывается, и все прдолжает работать далее,пока не снимется блокировка с MyTable, это в принципе нормально, но если в это время приложение (Б) будет выполнять Proc1, то после ошибки TimeOut оно оставляет после себя открытую транзакцию и ни очем не подозревая продолжает работать далее, подвешивая все остальные приложени, использующие данные процедуры. Как быть, если переписать все приложения на предмет принудительной вставки "rollback tran" не представляется возможным? Пробовал поставить в процедуры "set LOCK_TIMEOUT", но в этом случае по прошествии времени LockTimeOut генерируется SQLError 1222 'Lock request time out period exceeded' c Severity 13 и ODBC клиентами данное сообщение за ошибку не считается. Пробовал применить RaisError, но ODBC приложения таких сообщений тоже не видят. Посоветуйте что-нибудь.Может я не совсем понимаю принцип RaiseError? Или с блокировками можно порулить по-хитрее? Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.03.2001, 15:51
|
|||
|---|---|---|---|
Смесь собственных ошибок и MS SQL глюков |
|||
|
#18+
Поиграй параметром set query wait. Поставь большое значение, но не -1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1827180]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 380ms |

| 0 / 0 |
