У меня есть файл фиктивной базы данных (я использую firebird), я заполняю его некоторыми данными, а когда процедура заполнения заканчивается, я копирую его и сохраняю с новым именем. Используя код ниже, кстати:
void importdb_module::copyAndSaveDatabaseFile(){
QString source_file = "c:/databases/dummy.fdb";
QString destination_file = QFileDialog::getSaveFileName(this, "Save", "c:/databases/", "*.fdb");
QFile::copy(source_file, destination_file);
deleteDummyContent();
}
Он делает то, что предполагает — создает копию dummy.fdb
файл с новым именем. Но проблема в том, когда я пытаюсь открыть его IBexpert
Я получаю такое сообщение об ошибке:
Логин и пароль, которые я использовал, были по умолчанию SYSDBA
а также masterkey
— Я делаю все на своей машине, в одной среде. Также dummy.fdb
Файл и его размеры копии одинаковы.
Так почему копия стала couupt? И как копировать .fdb
файлы правильно тогда?
Вы должны убедиться, что соединение с БД закрыто, прежде чем копировать файл. В противном случае файл не соответствует. Лучше использовать утилиту резервного копирования gbak из папки bin Firebird, а не копировать файлы.
Других решений пока нет …