|
|
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
проблема в следующем - у меня клиент серверная приложение на Делфях. Вобщем база написана на Interbase и находиться на сервере, а клиенты обращаються к этой базе. Так вот проблема в том что, при обращении к таблице одного пользователя другие пользователи надо что б не могли получить доступ, к этой таблице. Я слышал о блокировке таблиц - но что-то не совсем понял. И вобще как обойти проблему одновременную работу с таблицой в такой ситуации, что-бы не было потерь данных и.т.д Заранее спасибо!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 17:11 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
странное желание (в смысле не логичное для клиет серверного приложеия) ibase.ru тебе может быть поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 18:15 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Блокировки записей в обычном понимании на сервере IB нет. Про варианты реализации с клиента есть статья на Ibase.Ru + про транзакции наверно надо почитать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 16:16 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Я тоже слышал что-то о блокировке, и слышал также такой рецепт: поскольку блокировки на чтение нет, доступ должен быть открыт только через хранимые процедуры. при попытке обратиться к процедуре она делает update некоей таблицы (таблица блокируется). если другой пользователь одновременно попытается произвести чтение с помощью этой ХП, то она не сможет сделать update (будет ждать) может быть, поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 09:50 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
dalai lamerпри попытке обратиться к процедуре она делает update некоей таблицы (таблица блокируется). Тогда уж лучше через генератор - он хоть прозрачен для транзакций. Например процедура Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 10:06 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
а) если так уж припекло поставить блокировку, то: SNAPSHOT TABLE STABILITY (константа consistency ) - изолированность образа (воспроизводимое чтение), при обращении к таблицам блокирует к ним доступ (как минимум на изменения). т.е. ставишь в consistency , и будет тебе счастье... если мало, то тама ще куча блокировок есть ( 'shared_read', 'shared_write', 'protected_read', 'protected_write' ), тока вот енто имхо уже не клиент-сервер получается, а фигня какая-то :) б) более-менее работающая следующая модель (по крайней мере у меня) 1. открываем курсор читающей транзакцией 2. когда пользователь решится изменить какие-либо данные, а) перечитываем весь курсор, б) делаем пустой апдейт/инсерт в пишущей транзакции 3. в зависимости от решения пользователя, откатываем данные, либо сохраняем(и закрываем пишущую транзакцию). после чего, опять рефрешь... ну и естессна пункт 2-б, в try/except, шобу значить знать, не успел-ли другой пользователь пораньше к этой записи сунутся... работает быстро, проблем пока не наблюдалось... а вообще, велком ту IBASE.RU, тама многа чего есть про транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 10:37 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Господа, а хелм влом почитать? для блокировки группы записе пишем select * from <имя таблицы> where <условие> for update а вот с генераторами не советую... в случае нештатной ситуации и не сбросе генератора, получится что флаг блокировки выставлен... да и нельзя заблокировать отдельные записи. Но всеж поддерживаю то, что цель весьма странная.... Может следует еще немного подумать и написать более правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 10:59 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Всем читать статью . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 11:39 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 11:58 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Да уж...\r А мысль высказанная в форуме "Проектирование БД" по поводу подвешивания, весьма недурственна. Поддерживаю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 12:11 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Попробовал использовать Select For Update With Lock (FB 1.5, FibPlus 4.8.1). Блокировки выставляемые через IBExpert из клиента отлавливает нормально, а вот блокировки выставляемые из другого клиента что-то не видит :( Случайно не из-за версии ли FibPlus? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 11:33 |
|
||
|
Я слышал о блокировке таблиц - но что-то не совсем понял. (Было: Help!!!!!!!!!!!!! please!!!!!!!!!!!!!)
|
|||
|---|---|---|---|
|
#18+
Очень даже может быть. Спроси в ихней конференции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 11:47 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32486078&tid=1578806]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 410ms |

| 0 / 0 |
