Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

вопрос по трехслойке   Найти похожие ветки 

 
Niki   (2003-05-07 18:52) [0]

Добрый день. Есть вопрос по трехслойке:

Клиент удаляет запись в таблице (Master), связанной с другой таблицей (Detail) через Ref.Interg. на сервере БД. (Удаление м.б. как физическим, так и логическим)
Клиент жмет ApplyUpdates.
Запрос ушел на сервер приложения.
На сервере:
Master (ADODataSet) делает проверку на наличие данной записи в связанных таблицах с procedure DeleteAllInDependedTable(DependedTable: TADODataSet); эта procedure запускается из OnBeforeDelete.
Клиент, со своей стороны, делает такую же проверку с таблицами, по отношению к которым он является мастером.

1) Как завернуть весь этот процес (все эти сниспадающие удаления в разных таблицах) в одну транзакцию на сервере приложения?
2) В случае единой транзакции с несколькими таблицами, при откате, как правильно сказать клиенту, что ни хрена не вышло?

Rem: Логика сервера приложений д.б. независимой от типа БД

Спасибо


 
Johnmen ©   (2003-05-07 22:05) [1]

Если уж речь идет о трехзвенке, то для сервера приложений желательно функционирование под BDE. Практика показывает, что в этом случае минимум непонятных "неожиданностей".


 
Dred2k ©   (2003-05-07 22:29) [2]


> Johnmen © (07.05.03 22:05)

Хм, вопрос спорный. Периодически сталкиваюсь с различными проблемами, возникающими у серверов приложений, функционирующих под BDE (вынужден его использовать, поэтому все под "ним - родимым"). Вопрос задан не самый простой, поэтому от автора нужны детали.
...которые, в принципе, могут и не обеспечить понимание - реализация, порой, накладывает зело большие и зачастую скрытые траблы. Уж в трехзвенке этого как грязи...
Вообщем, предлагаю Niki изложить подробнее, насколько возможно.


 
sniknik ©   (2003-05-07 22:31) [3]

Johnmen © (07.05.03 22:05)
"неожиданности" от недостаточной информированности, сам недавно страдал, но в итоге с ADO стало получатся даже чуточку быстрей. (были проблемы со скоростью на передаче больших обьемов)

а сначала чуть в чудеса верить не стал, BDE работает - и быстро считаные секунды, то же самое на ADO на пол часа, и сбоит... пример в кладовке лежит если Глюк не сьел. :о))


 
Johnmen ©   (2003-05-07 23:22) [4]

>Dred2k © (07.05.03 22:29)
>sniknik © (07.05.03 22:31)

Да, пожалуй не буду столь категоричен в общем случае, но для Oracle могу утверждать...:)



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
3-94661
Sirus
2003-05-07 11:19
2003.05.29
Как выбрать первую запись с определенными условиями???


9-94657
orion_st
2002-12-18 15:22
2003.05.29
Создание объекта при заданной верооятности его создания


3-94749
Andrio
2003-05-10 14:30
2003.05.29
if-then-else в вычисляемых полях


14-95107
OverSet
2003-05-11 01:57
2003.05.29
Программистки


6-94990
Hahn
2003-03-30 07:38
2003.05.29
Когда пытаюсь подсоединится клиентом, выводит ошибку.