|
Как проверить - заблокирован ли РС на чтение ?
| ☑ |
0
r1000
08.07.19
✎
11:16
|
В определенные моменты рабочего дня, система не может выполнить запрос к таблице цен:
Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Превышено время ожидания запроса на блокировку.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=38, Severity=10, native=1222, line=1
Судя по описание ошибки РС чем то заблокирован, когда система пытается выполнить запрос. Есть ли возможность узнать, перед выполнением запроса, - заблокирован РС или нет ?
Пока не удается понять - чем именно блокируется регистр.
|
|
1
Жан Пердежон
08.07.19
✎
11:24
|
установи блокировку сам перед запросом, а так - ТЖ
|
|
2
Жан Пердежон
08.07.19
✎
11:28
|
херню сказал, блокировка не поможет, тебе сразу в тж / на скуль надо; кстати, почему уверен что РС?
|
|
3
r1000
08.07.19
✎
11:33
|
потому что сам запрос выглядит так:
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
| &КонПериода,
| Цена = &Цена
| И Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних";
|
|
4
ptiz
08.07.19
✎
11:34
|
(0) Ну вот, ошибка запроса и говорит о блокировке. Или не нравится то, что он долго ждет?
|
|
5
r1000
08.07.19
✎
11:36
|
Да. и ждет и ошибка у пользователей появляется... понятно что саму ошибку я обработаю, чтобы не падало, через попытку.
Но хотелось бы перед выполнением проверить - не заблокировано ли.
|
|
6
Жан Пердежон
08.07.19
✎
11:46
|
вангую:
в РС первичка пишет,
а тут ты всю таблицу РС сканируешь...
Типов цен много?
|
|
7
r1000
08.07.19
✎
11:52
|
нет. РС вручную, только документом.
ладно, пока в попытку завернул.
|
|