Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1100507273
Anics
2004-11-15 11:27
2004.11.28
Работа с компонентом TRxTrayIcon


14-1100193273
Викусик
2004-11-11 20:14
2004.11.28
А у меня тоже задачка...


4-1097332989
#Мастер#
2004-10-09 18:43
2004.11.28
Мониторинг системы


14-1099575334
Григорьев Антон
2004-11-04 16:35
2004.11.28
Теперь и я в шоке. Снова про образование


14-1099969001
Думкин
2004-11-09 05:56
2004.11.28
С днем рождения! 9 ноября




   Наверх