-
Я заметила такую вещь, что иногда у таблиц Paradox слетают файлы, хранящие описание таблицы (*.val). Можно ли ее восстановить программно? Подскажите пожалуйста, как это сделать
-
> Liones (07.11.2008 8:11:00) [0]
Вряд ли
-
Только вроде в этих файлах хранится не описание таблиц, а ограничения.
-
Ну может я не правильно выразилась, но суть не в этом. Как же все-таки быть с этими файлами?
-
> Как же все-таки быть
забыть про парадокс, особенно в многопользовательском окружении
-
> Liones (07.11.2008 9:28:03) [3]
C помощью Database Desktop воссоздать ограничения, файл создатся автоматически.
-
> Anatoly Podgoretsky © (07.11.08 10:50) [5]
> [3]C помощью Database Desktop
> воссоздать ограничения, файл создатся автоматически
хочется то чтобы это можно было сделать программно, чтобы пользователь мог не вникая в суть проблемы восстановить таблицы
-
> Правильный$Вася (07.11.08 10:34) [4]
> забыть про парадокс, особенно в многопользовательском
> окружении
приложение на одного пользователя
-
> чтобы пользователь мог не вникая в суть проблемы восстановить
> таблицы
.. и при этом нафигачить кучу других, зачастую более серьезных проблем.
-
> Правильный$Вася (07.11.08 10:34) [4]
> забыть про парадокс,
а что тогда? dbf - удаление записей не устраивает, записи же только помечаются на удаление. foxpro - у них заголовки таблиц слетают. с остальными как-то пока не знакома
-
> Правильный$Вася (07.11.08 10:34) [4]
> забыть про парадокс,
а что тогда? dbf - удаление записей не устраивает, записи же только помечаются на удаление. foxpro - у них заголовки таблиц слетают. с остальными как-то пока не знакома
-
> Сергей М. © (07.11.08 11:48) [8]
> и при этом нафигачить кучу других, зачастую
> более серьезных проблем.
да зачем? можно же просто например добавить пункт меню типа "восстановление базы", пользователь не будет видеть вобще какие действия выполняет программа
-
> Liones © (07.11.08 11:51) [11]
Угу.
А другой пользователь в это же время, ничего не зная об этом, начнет другую пользовательскую операцию над базой.
В лучшем случае неразрешимые коллизии при этом приведут к нарушению ссылочной целостности, в худшем вы там со своими пользователями ухайдокаете свою базу так что она будет вообще не восстановима.
-
Восстановление базы пользователем вообще штука опасная, но если и должна применяться, то только в единственном случае - если она (база) используется строго монопольно и лежит на ПК пользователя
Для того, чтобы база нормально восстанавливалась после слетов программно надо писать соответствующую программу (т.е. не в предметном проекте, а в отдельном) и иметь образец БД с пустым содержимым (в смысле в таблицах нет записей) но полностью с ограничениями, индексами и т.д. Восстановление выполняется так: сначала база должны быть быгружена в архив (предварительно), причем в архив помещаются только данные безо всяких индексов, ограничений и т.д. При восстановлении БД "образца" копируется в целевой каталог и затем в эту пустую, но полнофункциональную в смысле "бизнес-логики" (если этот термин можно применить к локальной БД) "заливаются" записи из таблиц архива.
-
> Сергей М. © (07.11.08 11:56) [12]
база используется одним пользователем
-
Если проект новый, то рекомендую воспользоваться советами и отказаться от парадокса в пользу клиент-серверных систем. Время на освоение новых для Вас технологих сторицей окупится при эксплуатации проекта заказчиком.
-
> MsGuns © (07.11.08 12:01) [13]
В общем логику процесса я поняла. Так то в программе предусмотрено резервное архивирование базы, которое выполняется при выходе из программы. При выходе вся папка с базой архивируется раром и переносится в отдельную папку.
-
> MsGuns © (07.11.08 12:04) [15]
> Если проект новый, то рекомендую воспользоваться советами
> и отказаться от парадокса в пользу клиент-серверных систем.
> Время на освоение новых для Вас технологих сторицей окупится
> при эксплуатации проекта заказчиком.
Согласна, но проблема в нехватке времени. Да я и пыталась найти хоть какой-нибудь материал для обучения, всего много и разрозненно. Может посоветуете что-нибудь стоящее
-
> а что тогда? dbf - удаление записей не устраивает, записи
> же только помечаются на удаление.
dbf-ник можно pack-овать, и тогда все помеченные на удаление записи удалятся физически. Но правильно говорят те, кто советует перейти на клиент-серверную платформу - это самый мудрый выход из ситуации. От себя же добавлю, что лучше Interbase/Firebird здеь не найти. Особенно в Вашем случае.
-
> Liones © (07.11.08 12:04) [14]
Тогда, при условии что база локальная, падение валидационных файлов - довольно странное явление..