|
Помогите программно определить, заблокирована ли запись в таблице (FireBird 2.5, .Net)
|
|||
---|---|---|---|
#18+
Есть одна база FireBird 2.5 и две программы с ней взаимодействующие. При работе первая програма делает lock на все данные с которыми в текущий момент работает пользователь. Программа сторонняя, написана давно, исходников нет. Вторая программа(наша) работает с выборками из этой же базы. Задача: если при работе во второй программе в выборку попали данные, которые в текущий момент редактируются в первой программе, то необходимо превать работу и вывести сообщение(именно прервать, а не считать назакоммиченые данные). Не нашел чего-то полезного на эту тему в интернете. (Буду рад ссылке) Пытался проверять lock на запись в таблице фэйковым апдейтом(update table set value = value where id = @id) с таймаутом команды выставленным на пару секунд. Не помогло, транзакция "залипает" пока запись в таблице залочена. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 15:36 |
|
Помогите программно определить, заблокирована ли запись в таблице (FireBird 2.5, .Net)
|
|||
---|---|---|---|
#18+
Может кому будет полезно. Проблема решилась следующим образом. Для транзакции нужно было выствавить опцию NO_wait. Похоже что для всех "уровней изоляции" она была определена как Wait. В моем случае выставлялось так : FbTransaction tran = cnn.BeginTransaction(FbTransactionOptions.NoWait); (на самом деле не сразу приходи в голову что в конструктор можно передать не только IsolationLevel) Попытка выполнить команду апдейта на залоченую запись в таблице сразу возвращает ошибку update conflict, таймаут ставить не нужно. Впринципе это то, о чем я спрашивал. Тему можно закрывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 16:41 |
|
|
start [/forum/topic.php?fid=20&msg=38448533&tid=1403764]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 160ms |
0 / 0 |