fileBackup
此方法允许应用程序复制持久性数据库的数据库和日志文件。
随后,只需在设备定义中指定这些备份文件,并以常规方式打开数据库,即可“恢复”数据库。
传递给 mco_db_open_dev() 的 file_backup_delay
参数可以进行调整,以指定写入备份块之间的毫秒级延迟,从而最大程度地减少备份对性能的影响。可以通过显式设置中断选项来中断文件备份过程。此选项在每个 SQL 查询执行之前都会被清除,但当直接调用 fileBackup() 时,此选项不会被清除。因此,建议在开始文件备份之前先调用 SqlEnginesetIterrupted(true)。
void fileBackup(
dbFile,
logFile,
nThreads = 1
);
参数
dbFile
char const*
执行文件复制操作的线程数量。
logFile
char const*
备份日志文件的路径和文件名。
nThreads
int
执行文件复制操作的线程数量。
返回
RuntimeException
在出现错误的情况下抛出一个 RuntimeException 异常。
示例
Application snippet:
const char * dbname = "SimpleDb";
int main(int argc, char* argv[])
{
mco_db_h db;
MCO_RET rc;
mco_device_t dev[4];
McoSqlEngine engine;
McoSqlOpenParameters params;
char * db_file = "SimpleDb_backup.dbs";
char * log_file = "SimpleDb_backup.log";
...
engine.open(params);
...
engine.fileBackup( db_file, log_file, 1);
...
engine.close();
}