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

Вниз

Управление транзакциями в трех звенке.   Найти похожие ветки 

 
Erik   (2003-10-17 10:55) [0]

Это общий вопрос, как вобще работать с расшареными данными. Я поставил на MIDAS и написал свой сервер в нем методы для работы с общим класом защищеный критическими секциями, реализовал CallBack. Вроде все хорошо. Но захотелось использовать провайдер, передача данных на клиента проходит нормально, а вот с записью польный п..... Вобщем лишился я управления CachedUpdate и Commit. И соответственно неработают события компонента как не ставь ResolveToDataSet. Использую DOA. Неодна фирма неудосужилась сделать эту часть.
Какие компоненты (DOA, NCOCI8, BDE, ODAC и пр..)нормально работают с TDataSetProvider? И какие вобще есть идеи для работы с данным? Можно конечно свои методы описать, но очень неудобно.


 
Nikolay M. ©   (2003-10-19 11:58) [1]

Если честно, не понял сути проблемы.
Для чего нужны CachedUpdate, если CDS все равно хранит данные у себя в кэше и по ApplyUpdates сбрасывает их через провайдера (если ResolveToDataSet = False) в собственно базу, при этом провайдер неявно создает транзакцию? У провайдера есть соотв. события - хоть сам пиши свой запрос на каждую изменяемую запись. DataSetProvider поймет любой компонент, происходящий от TDataSet - тоже не вижу здесь проблем. И уж совсем непонятен сабж - как он соотносится с текстом вопроса. Опиши, в чем конкретно затык - может будет понятнее, по крайней мере лично мне?


 
Nikolay M. ©   (2003-10-19 12:04) [2]


> провайдер неявно создает транзакцию

пардон, наверное, погорячился. AFAIK, зависит от сервера и используемых компонент.


 
val_5 ©   (2003-10-19 12:31) [3]

Erik
Согласен с Nikolay M. От себя - забей ты на эти DAO..BDE а так же на проч херню от 3-х (которой любят хвастаться 23-летние юнцы). Используй dbExpress (TSQLConn,TSQLDataSet) + TDataSetProvider + TClientDataSet.
- Проверено
- dbExpress работает с однонаправленными курсорами : увеличивается скорость и уменьшается нагрузка на SQL-сервер      
- dbExpress работает и на Linax
- Развертывание приложения - твоя прога + всего 2 dll-ки.


 
Nikolay M. ©   (2003-10-19 13:32) [4]


> val_5 ©   (19.10.03 12:31) [3]

Я тоже "24-летний юнец" :)
А компоненты доступа, имхо, нужно выбирать от используемой СУБД. Для Access/MS SQL - это однозначно АДО, для MySQL - лучше ZeosLib пока ничего не видел, для Oracle многие предпочитают ODAC.
Я бы лично не стал рекомендовать dbExpress как универсальное решение всех проблем.


 
Erik ©   (2003-10-21 15:10) [5]

Я поздно прочитал ответы, извеняюсь за опоздание.

Проблемы в том, что я развиваю уже готовое приложение. И оно само работает с базой данных. Поэтому хотелось использовать свойство  CachedUpdate, чтобы закинуть данные на App сервер. А на сервере управлять их записью и отменой.
Можно конечно и ручками это делать и событии TDataSetProvider. Но в каком лучше всего событии это делать? Мне разумеется понадобится все поля а не Delta. Пример разборки данных есть где глянуть?



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
1-1100522855
PavelR
2004-11-15 15:47
2004.11.28
Английский формат даты в русский


3-1099309338
RusLAN_
2004-11-01 14:42
2004.11.28
Firebird. Копия БД (Тень)


1-1100177008
gonzales
2004-11-11 15:43
2004.11.28
Разложить файл на несколько частей


6-1095658998
KIR
2004-09-20 09:43
2004.11.28
TServerSocket и TcpServer


9-1090864227
RyDmi
2004-07-26 21:50
2004.11.28
Как делать анимированные спрайты?