![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Занята БД Access [D7, Access]
rar © (2006-10-30 19:50:00)Как можно проверить базу данных Access, находиться ли она в монопольном доступе.
База сетевая, с ней работают с десяток задач но все по чтению, как они ее блокируют непонятно.
Обращаюсь к БД, а она отвечает занята пользователем Admin в монополном доступе на машине такой-то. (Обращаюсь по Insert). Вот при обращении и надо определить что за состояние у нее текущее.
Немного сумбурно но примерно так:-)
Anatoly Podgoretsky (2006-10-31 15:30:00) [1]> ANB (31.10.2006 10:11:10) [10]
> С этим ключом пишу в Access, откат невозможен,
Монопольное использование (Блокировка), никак не поможет, только откаты
гарантируют.
umbra (2006-10-31 11:16:00) [2]2 sniknik © (31.10.06 10:48) [13]
гарантий, конечно, нет. Но, похоже, это максимум, что можно сделать при такой постановке задачи.
sniknik (2006-10-31 10:58:00) [3]> ктото решил поработать с базой
с аксесс базой имелось в виду.
sniknik (2006-10-31 10:48:00) [4]> Можно перед работой с ораклом попытаться монопольно открыть аксесовскую базу.
ну, попытался, ну открыл... а дальше пока вставляешь в оракл, ктото решил поработать с базой, не получилось, он взял и перегрузил машину... (он же в рабочую базу пишет, не заметил?)
гарантий предварительной проверки на последующее нет, и не может быть.
ANB (2006-10-31 10:12:00) [5]В принципе, можно сначала заблокировать все, что нужно в аксесе. Но ошибка может возникнуть не только из-за блокировок. Посему - транзакция - самое оно.
Sergey13 (2006-10-31 10:12:00) [6]> [4] rar © (30.10.06 20:33)
> сначала пишу в Oracle, получаю ID
> С этим ключом пишу в Access, откат невозможен, только писать
> удаление записи.
Не обязательно фиксировать в Оракле для получения ID. Хотя это в данном случае может и не существенно.
ANB (2006-10-31 10:11:00) [7]
> С этим ключом пишу в Access, откат невозможен,
Почему откат невозможен ? И где он невозможен ? В оракле ?
umbra (2006-10-31 10:02:00) [8]Можно передработой с ораклом попытаться монопольно открыть аксесовскую базу.
sniknik (2006-10-30 21:28:00) [9]ошибка всегда получается на действие, а не перед ним, это может неизящно но единственно верно...
предугадать ошибку/от чего она произойдет невозможно в большинстве случаев.
rar (2006-10-30 20:48:00) [10]Разово в темповскую таблицу, это конечно выход, но некрасиво, ведь существуют более изящные методы :-))
Надо их только найти
sniknik (2006-10-30 20:40:00) [11]только может не помоч, может ктонибудь базу монопольно займет как раз в момент после проверки, не моментально же запись в оракл/получение ID делается...
sniknik (2006-10-30 20:38:00) [12]ну делай запись разово в какую нибудь временную табличку, удалиш ее после всего, да и все.
rar (2006-10-30 20:33:00) [13]сначала пишу в Oracle, получаю ID
С этим ключом пишу в Access, откат невозможен, только писать удаление записи.
Лучmше сначала проверить состояние БД Access
sniknik (2006-10-30 20:30:00) [14]пиши в транзакциях с откатом обоих при ошибке в одном. проблема чтоли?
rar (2006-10-30 20:22:00) [15]Это-то понятно что определил, но параллельно данные пишутся в БД Oracle и происходит рассогласоание БД.
Djn b yflj ghjdthbn cyfxfkf cjcnjzybt
У нас происходит постепенная миграция приложений из Access в Oracle, вот и извращаемся.
Anatoly Podgoretsky (2006-10-30 20:07:00) [16]> rar (30.10.2006 19:50) [0]
Ты уже определил.