17.04.2003, 16:37 | #1 |
Участник
|
Есть ли в Аксапта семафоры.
Предложите механизм семафоров или блокировок, нужно определять, что данная запись заблокирована кем-то и ее нельзя трогать.
|
|
17.04.2003, 16:59 | #2 |
----------------
|
Варианты
1. select forupdate в рамках транзакции не позволит никому изменить строку в БД до закрытия транзакции
2. Спец. поле, которое заполняется в начале обработки и очищается по окончанию (+ спец процедура по снятию флага по форс-мажорным событиям) И то и другое встречается в стандартной функционале |
|
18.04.2003, 06:19 | #3 |
Участник
|
2 Wamr
Не совсем понял насчет forupdate, т.е. если я сделаю select * forupdate InventTable и ничего с ним не буду делать, то никто не сможет его редактировать? В общем идея такая: Пишется модуль, при входе в который пользователь блокирует запись в какой то таблице, таким образом можно видеть количество пользователей работающих с данным модулем, и в случае некорректного выхода(перезагрузка) запись автоматом разблокируется.... ну и т.д. На FoxPro это не составляет проблем, а тут я не знаю как поступить. |
|
18.04.2003, 11:01 | #4 |
----------------
|
1. Если на одном рабочем месте запустить такой job
PHP код:
2. Не заню, как это было (" в случае некорректного выхода(перезагрузка) запись автоматом разблокируется") в FoxPro. Аксапта работает с SQL сервером и использует механизмы блокировок и транзакций этого сервера. Для понимания происходящего полезно знать эти механизмы. |
|
21.04.2003, 14:53 | #5 |
Участник
|
Добрый день!
Может быть, кто - нибудь поведает, появилась ли, действительно, большая гибкость в блокировке трансакций (анологичная той, которая предусмотрена в Transact SQL) с выходом версии 3.0.?
__________________
С уважением, Мирослав Лянцевич КОРУС Консалтинг I Navision Solution Center |
|
23.04.2003, 17:23 | #6 |
Banned
|
Большей гибкости в 3.0 нет. Скорее, большая жесткость: ведь по умолчанию любой insert или update в 3.0 ДОЛЖЕН идти в пределах транзакции.
Отвечая на вопрос edd: есть пример гибкой блокировки без использования средств сервера. Она реализована во всех журналах 3.0. Открывается второе соединение с БД, создается запись в таблице блокировок, а потом программно проверяется. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Есть ли у кого-нибудь такая штучечка? | 54 | |||
Аксапта как фронт-офисное решение в рознице. | 15 | |||
Аксапта 3.0 SP 3 падает | 13 | |||
Справка в файлах *.chm на русском у кого есть? | 14 | |||
Что есть для Inernet-а ? | 6 |
|