1

我有一些虚拟数据库(我使用 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文件及其副本大小也相同。

那么,为什么副本会变得腐败呢?那么如何正确复制.fdb文件呢?

4

1 回答 1

4

在复制文件之前,您必须确保数据库连接已关闭。否则文件不一致。最好使用 firebird bin 文件夹中的 gbak 备份实用程序,而不是制作文件副本。

于 2013-11-06T18:49:19.523 回答