Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизКак корректно защититься от краха 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.144 c