Восстановление FireDac с несколькими экземплярами Firebird - PullRequest
0 голосов
/ 08 июля 2019

У меня есть несколько экземпляров Firebird:

  • Firebird 2.5.6, работающий через порт 3050 с именем службы FirebirdDerverDefaultInstance
  • Firebird 3.04, работающий через порт 3060 с ServiceName FirebirdServerFB30

с помощью gbak я делаю это, и это работает (я запускаю gbak прямо в моем каталоге Firebird 3). Я могу использовать любого случайного пользователя и случайный пароль, и это работает.

gbak -user ADMINxxx -pas adminxxx -c -v -se service_mgr D:\fb30.gbk d:\fb303.gdb

С FireDac у меня возникает проблема с восстановлением базы данных, когда я делаю это:

  ADIBRestore.BackupFiles.Clear;
  ADIBRestore.BackupFiles.Add('D:\fb30.gbk');
  ADIBRestore.Database := 'd:\fb303.gdb';
  ADIBRestore.UserName := 'ADMINxxx';
  ADIBRestore.Password := 'adminxxx';
  ADIBRestore.Host := '127.0.0.1';
  ADIBRestore.Port := '3060';
  ADIBRestore.Restore;

это бросит мне исключение

[FireDAC] [Phys] [FB] нет разрешения для CREATE-доступа к базе данных D: \ FB303.GDB не удалось создать базу данных D: \ FB303.GDB неизвестная ошибка ISC 336330835

Можно ли восстановить базу данных с помощью FireDac с пользователем, который не является пользователем SYSDBA?

1 Ответ

0 голосов
/ 10 июля 2019

У пользователя нет разрешения на запись в указанный каталог.

...