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

Вниз

BackUp/Restore базы данных FireBird из моей программы.   Найти похожие ветки 

 
Rhododendrom   (2009-12-21 11:46) [0]

Использую базу данных FireBird. Хочу сделать BackUp, а затем Restore. Вроде как в Delphi есть компонент IBBackupService на вкладке InterBase Admin. Тамже же есть и IBRestoreService.
Подскажите как запустить процедуру BackUp, а затем Restore.


 
Sergey13 ©   (2009-12-21 12:07) [1]

На ibase.ru вроде были описания работы с IBX.

> как запустить процедуру BackUp, а затем Restore

Вот так прямо сразу друг за другом? А зачем?


 
Rhododendrom   (2009-12-21 12:33) [2]

Зачем мне BackUp, если я потом не смогу сделать Restore?
Я хотел описание как пользоваться компонентами.
За ссылку спасибо, почитаю, может найду что ищу.


 
Sergey13 ©   (2009-12-21 12:50) [3]

> [2] Rhododendrom   (21.12.09 12:33)
> Зачем мне BackUp, если я потом не смогу сделать Restore?

Я к тому, что делать СРАЗУ подряд автоматом B&R - верный путь в могилу. Ресторить надо отдельно, желательно на другой машине. Потому что случаются мертвые бекапы.


 
mr.il   (2009-12-22 06:16) [4]

> Я к тому, что делать СРАЗУ подряд автоматом B&R - верный путь в могилу
Чтобы от этого застраховаться, я переименовываю базу, этим одновременно проверяю не подключен ли к базе кто то.


 
Sergey13 ©   (2009-12-22 09:18) [5]

> [4] mr.il   (22.12.09 06:16)

А какой смысл постоянно подсовывать бекап? Место что ли освобождать?


 
Rhododendrom   (2009-12-23 09:30) [6]

На ibase.ru нашёл демонстрацию, которая показывает как работать с палитрой Interbase Admin. В результате ковыряния получено следующее:
1. На форму помещаем компонент "IBBackupService" и "IBRestoreService" с палитры "InterBase Admin".
2. Настраиваем компоненты отключая "Login Promt"
3. Поидее в моих процедурах надо ещё передавать имя компонента, но было лень:

procedure BackUp(DataBase, BakcUpName, UserName, Password:string);
begin
try
 Screen.Cursor := crHourGlass;
 with IBBackupService1 do begin
  Params.Clear;
  Params.Add("user_name="+UserName);
  Params.Add("password="+Password);
  Attach();
  Active:=true;
  DatabaseName:=DataBase;
  BackupFile.Add(BakcUpName);
  ServiceStart;
  while IsServiceRunning do Application.ProcessMessages;
 end;
finally
 if IBBackupService1.Active then IBBackupService1.Detach;
 Screen.Cursor := crDefault;
end;
end;


procedure Restore(DataBase, BackUpName, UserName, Paasord:string);
begin
try
 Screen.Cursor := crHourGlass;
 with IBRestoreService1 do begin
  Params.Clear;
  Params.Add("user_name="+UserName);
  Params.Add("password="+Paasord);
  Attach();
  if Active=true then begin
   BackupFile.Add(BackUpName);
   DatabaseName.Add(DataBase);
   ServiceStart;
   while IsServiceRunning do Application.ProcessMessages;
  end;
 end;
finally
 if IBRestoreService1.Active then IBBackupService1.Detach;
 Screen.Cursor := crDefault;
end;
end;


 
Rhododendrom   (2009-12-23 09:33) [7]

ой, в функции восстановления ошибка, вот правильная:
procedure Restore(DataBase, BackUpName, UserName, Paasord:string);
begin
try
 Screen.Cursor := crHourGlass;
 with IBRestoreService1 do begin
  Params.Clear;
  Params.Add("user_name="+UserName);
  Params.Add("password="+Paasord);
  Attach();
  if Active=true then begin
   BackupFile.Add(BackUpName);
   DatabaseName.Add(DataBase);
   ServiceStart;
   while IsServiceRunning do Application.ProcessMessages;
  end;
 end;
finally
 if IBRestoreService1.Active then IBRestoreService1.Detach;
 Screen.Cursor := crDefault;
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.006 c
10-1175362315
Qds
2007-03-31 21:31
2011.07.10
Таймаут в DCom


11-1234115025
Lexi
2009-02-08 20:43
2011.07.10
Где можно взять KOLMHToolTip.pas?


2-1301506475
Учусь
2011-03-30 21:34
2011.07.10
Как обновить отображение компонента на форме?


15-1301188320
Германн
2011-03-27 05:12
2011.07.10
Автоматический переход


15-1301355051
KilkennyCat
2011-03-29 03:30
2011.07.10
как-то мы о много-мониторности говорили...