Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Занята БД 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]

Ты уже определил.


Наверх

Титульная страница Поиск, карта сайта Написать письмо