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

Вниз

Как корректно защититься от краха Paradox-баз   Найти похожие ветки 

 
TheEd   (2004-12-14 21:37) [0]

Господа, вопрос: есть БД на Paradox"е, с ней работают примерно 10 юзеров в сети. Проблема в том, что время от времени нарушается целостность базы, и она перестаёт откываться. Как обычно поступают в таких случаях (копировать ручками - это понятно, я имею в виду откат во время работы программы), ну к примеру:


begin
 try
   Application.Initialize;
   Application.CreateForm(TfmMain, fmMain);
   Application.Run;
 except
   // выполняем откат, но блин так,
   // что бы это не коснулось изменений, сделанных
   // другими юзерами!
 end;
end.


Заранее спасибо!


 
Anatoly Podgoretsky ©   (2004-12-14 21:50) [1]

Никак


 
Sergey13 ©   (2004-12-15 09:18) [2]

>Как корректно защититься от краха Paradox-баз
Не использовать Парадокс. Не работающая база - стабильная база. 8-)


 
msguns ©   (2004-12-15 10:51) [3]

Написать свой "сервер", работы с парадокс-базой, в нем реализовать транзакции и все такое..


 
Anatoly Podgoretsky ©   (2004-12-15 12:16) [4]

msguns ©   (15.12.04 10:51) [3]
Ну это уже будет трехзвенка, а не Парадокс


 
TheEd   (2004-12-21 20:40) [5]

Неуж-то в парадоксе тупик?
Просто уже много наделано, не хогчется переколбашивать на другие платформы. Тогда подскажите что лучше?

зы: Оракл пробовал - тёмный лес, хотя слышал что вестчь толковая, для начинающего юзверя посоветуйте.


 
Kuusiniemi   (2004-12-22 09:33) [6]

"10 юзеров в сети" и Oracle - ядерной ракетой по воробьям :) Interbase и клоны попробуйте.


 
msguns ©   (2004-12-22 10:38) [7]

Хорошая "профилактика" сбоев парадокс-баз - отказаться от вторичных индексов. Слеты много реже и гораздо быстрее лечатся.


 
Reindeer Moss Eater ©   (2004-12-22 10:43) [8]

Лучший способ угобить Парадокс при многопользовательском режиме - создать таблицу с автоинкрементным полем.


 
Vemer ©   (2004-12-23 00:45) [9]

Присоединяюсь к Kuusiniemi: FireBird - самое то. Сам год юзаю успешно.


 
TheEd   (2004-12-23 22:45) [10]


> Хорошая "профилактика" сбоев парадокс-баз - отказаться от
> вторичных индексов. Слеты много реже и гораздо быстрее лечатся.

Про индексы понял - уже не раз они сбоили.

> Лучший способ угобить Парадокс при многопользовательском
> режиме - создать таблицу с автоинкрементным полем.

Про автоинкрементное поле в принципе тоже секу - видно у нескольких юзеров одно Value получается при вставке или типа того, но без них сложно организовать связи между таблицами, либо вручную вставлять значения... Если можно поподробнее механизм угробления Парадокса (вот уж воистину - парадокс) автоинкрементными полями. И на кой они (и индексы тоже) тогда нужны если гробят базы?


 
Anatoly Podgoretsky ©   (2004-12-24 02:04) [11]

Не индексы гробят базу, а Парадокс


 
msguns ©   (2004-12-24 10:49) [12]

Автоикремент в парадоксе можно "проэмулировать":
Клиент в цикле выполняет 2 запроса:
 - Определение макс.значения колонки ключа
 - Пытается вставить запись с этим значением, если получается, то значение возвращается и клиент вместо вставки делает коррекцию
Если нет (кто-то в этом момент уже вставил запись с таким ключом), то цикл повторяется

Тоже не сахар, но все ж какое-то решение. В свое время при разработке проектов в парадоксе вообще не юзал суррогатные ключи, только "нативные".


 
Sergey13 ©   (2004-12-24 10:54) [13]

2[10] TheEd   (23.12.04 22:45)
>И на кой они (и индексы тоже) тогда нужны если гробят базы?
Не оправданный выбор средства решения задачи (Парадокс для 10 сетевых пользователя), ИМХО, более виновен в гроблении базы.


 
msguns ©   (2004-12-24 11:51) [14]

>Sergey13 ©   (24.12.04 10:54) [13]
>И на кой они (и индексы тоже) тогда нужны если гробят базы?
Не оправданный выбор средства решения задачи (Парадокс для 10 сетевых пользователя), ИМХО, более виновен в гроблении базы.

Индексы в десятки, а то и сотни раз ускоряют обмен данными с таблицами.
По поводу выбора. Справедливо при проектировании новых баз. А что делать со старыми, состоящими из сотен таблиц и тысяч кем-то давно написанных алгоритмов, в которых приходится ковыряться ?


 
Sergey13 ©   (2004-12-24 12:05) [15]

2[14] msguns ©   (24.12.04 11:51)
>По поводу выбора. Справедливо при проектировании новых баз. А что делать со старыми

1. Я и не говорил, что смена БД - это легко.
2. Если используется Парадокс и БДЕ, то замена Парадокса на ИБ например, при сохранении БДЕ, не вызовет коренную ломку приклады, ИМХО.
3. Если задача писалась на 1 юзера, а используется 10, то не повод ли это для переделки. Ты же не будешь грузить на Жигуль бетонную плиту.
4. У меня нет информации, что это тот случай, когда "из сотен таблиц и тысяч кем-то давно написанных алгоритмов". 8-)


 
msguns ©   (2004-12-24 12:23) [16]

Ладно, давай не будем гадать, ладушки ?


 
Fay ©   (2004-12-25 04:03) [17]

Как обычно. Главная сложность - "не хочется".
Но почему-то всем потом хочется поплакаться на форуме - "Ах, какой он гадкий, этот Рагадох 8(. Чё делать? А то не хочется ...".



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

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

Наверх




Память: 0.51 MB
Время: 0.048 c
1-1105616282
Jupiter
2005-01-13 14:38
2005.01.30
Вопросы по Dll


3-1104132075
Russko
2004-12-27 10:21
2005.01.30
Кол-во записей в БАЗЕ INTERBASE


14-1105217802
pika
2005-01-08 23:56
2005.01.30
Уходя хотел, спросить !!!


8-1098363487
X-Disa
2004-10-21 16:58
2005.01.30
Сохранение иконки


3-1103788002
Scorpio
2004-12-23 10:46
2005.01.30
Аналог команды Like из SQL для использования в таблице.