У меня есть несколько экземпляров 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?