Страница 1 из 2

как сделать резервную копию определеных данных?

Добавлено: 23 апр 2007, 16:41
Anticler
мне необходимо закинуть кусок таблицы (напимер по дате) в отдельный файл и потом также высунуть отуда назад в таблицу в случае сбоя.
в итоге чтоб получилось резервное хранилище, состоящее из множесва кусков базы данных.

Re: как сделать резервную копию определеных данных?

Добавлено: 24 апр 2007, 04:21
SergeyS
что за таблица? какие данные содержатся в таблице? где хранится (может есть стандартные средства резервирования данных)?

Re: как сделать резервную копию определеных данных?

Добавлено: 24 апр 2007, 12:51
Anticler
SergeyS писал(а):что за таблица? какие данные содержатся в таблице? где хранится (может есть стандартные средства резервирования данных)?
Таблица Paradox, содержит разные данные, включая мемо и блоб поля, хранится на локальном компьютере.
Насчет стандартных средств - мне необходимо, чтоб это выполняла моя программа

Re: как сделать резервную копию определеных данных?

Добавлено: 24 апр 2007, 12:59
SergeyS
Таблица Paradox, содержит разные данные, включая мемо и блоб поля
ну раз так, то создавай точную копию (структуру) нужной тебе таблицы, копируй нужные тебе записи из основной таблицы и сохраняй все это в другом месте.
Если потребуется восстановить данные, то можно будет в основной таблице удалить старые записи и вставить их из временной таблички.

Re: как сделать резервную копию определеных данных?

Добавлено: 24 апр 2007, 21:56
Anticler
а как создать файлы таблиц со структурой?
и как потом при востановлении добавлять записи если есть автоинкриментные индексные поля?

Re: как сделать резервную копию определеных данных?

Добавлено: 25 апр 2007, 01:05
Игорь Акопян
может тупо файл скопировать? ;)

Re: как сделать резервную копию определеных данных?

Добавлено: 25 апр 2007, 04:16
SergeyS
&quot писал(а):и как потом при востановлении добавлять записи если есть автоинкриментные индексные поля
Ну тут есть два пути:
1. Отказаться от автоинкрементных полей и увеличивать id вручную
2. Не удалять записи из основной таблицы, а обновлять их на основе данных из временной таблицы

А может Игорь Акопян был прав, и в самом деле тупо скопировать весь файл?

Re: как сделать резервную копию определеных данных?

Добавлено: 26 апр 2007, 00:42
Anticler
это я мог бы сделать давно, но мне необходимо, чтоб резервная база хранилась по частям.
дело в том, что база может достигать больших размеров и процесс архивирования может занять много времени, и при том - сколько ж будут потом весить все эти копии вместе... .

Re: как сделать резервную копию определеных данных?

Добавлено: 26 апр 2007, 00:45
Anticler
SergeyS писал(а):Если потребуется восстановить данные, то можно будет в основной таблице удалить старые записи и вставить их из временной таблички.
Но если "вставить их из временной таблички", тогда индексы не сохранятся

Re: как сделать резервную копию определеных данных?

Добавлено: 26 апр 2007, 04:44
SergeyS
&quot писал(а):Но если "вставить их из временной таблички", тогда индексы не сохранятся
Сохранятся и ещё как. Или ты собираешься "ручками" их вставлять (в смысле не через BDE с таблицей работать а как с обычным бинарным файлом)?
Индексы обновляются каждый раз, когда ты модифицируешь таблицу и неважно как.
В принципе ты можешь реализовать свою идею, но зачем?
Насколько большой может быть твоя база?
До меня только сейчас дошло, ты хочешь делать последовательные бэкапы своей базы: за такое-то число, за такое и т.д., а если база свалится то восстанавливать её последовательно их списка этих файлов.
Слишком сложно.
Сколько ты планируешь будет жить твоя программа? Ты уверен что она станет очень большой? А если она станет очень большой сможет ли твоя программа шустро работать с paradox'овой табличкой.
У меня была программа на парадоксе, так там было около миллиона записей только в одной таблице - программа еле ползала, пришлось переходить на SQL

Если это коммерческий проект, то лучше сразу откажись от парадокса в пользу бесплатных SQL Server'ов (MySQL, FireBird...) тем более что система логов в них уже реализована. Если это для вуза - то забей на это, программы в институтах живут очень недолго (всегда находится новый талантливый программист, который говорит что сможет написать лучше :) ), если это курсовая или дипломная - тем паче.