首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改Firebird辅助数据库文件的路径

更改Firebird辅助数据库文件的路径
EN

Stack Overflow用户
提问于 2018-08-28 04:47:28
回答 1查看 376关注 0票数 0

我已经创建了一个Firebird多文件数据库

主数据库文件D:\Database\MainDB.fdb

位于D:\Database\DBFiles\Data001.fdb to D:\Database\DBFiles\Data240.fdb下的辅助文件(240个文件)

当将数据库复制到另一个位置并试图打开它时,如果文件不在D:\分区中,Firebird将找不到这些文件

我想让火鸟找到新路径下Database\DBFiels文件夹下的辅助文件。

因此,如果我将数据库复制到C:\Database\MainDB.fdb,Firebird将在新路径(如C:\Database\DBFiles )中打开Data001.fdb,而不是在最初创建它们的D:\Database\DBFiles中打开旧路径

火鸟可以做到这一点吗?如果没有,那该如何做呢?

更新:

最后我发现不可能更改Firebird数据库辅助文件usign Firebird。

但是我发现了这个Firebird FAQ提及的GLINK工具,但是它不支持火鸟3.x,所以我没有测试它,即使是在支持的火鸟版本上也不推荐使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-28 16:41:25

到底做了什么?

UPD。我编辑了非常模糊的原始问题,以清楚主题发起者想要什么。

  1. 你不能可靠地“用火鸟复制文件”-火鸟不是文件复制工具。在某种程度上,你可以使用EXTERNAL TABLE来访问原始文件,但这是非常有限的,而且不是针对数据库本身。
  2. 在Firebird工作时“复制数据库”是一种危险的做法,因为你只会复制部分数据。最近更新的数据在内存缓存中,但还没有在磁盘上,将丢失。数据库文件可能会与某些更新的数据不一致,而有些数据尚未更新。当你“复制数据库文件”时,你必须首先关闭这些数据库,或者甚至整个火鸟server.
  3. Firebird都有自己的工具来移动数据库-这些工具被称为备份/恢复工具。也许你需要的是nbackup工具,如果gbak对你来说太慢了。
  4. 最后,你可以列出组成数据库的文件。您可以通过gstat实用程序或它使用的"Services API“来完成此操作。也可以从RDB$FILES系统表中进行选择。然而,在你做完之后你会做什么?对数据库的访问使其非常适合后续的复制(#2)。您可能需要关闭数据库,将其设置为只读和单用户状态,然后才附加到该数据库并读取RDB$FILES。复制完成后,您必须取消关闭数据库。比nbackup.

复杂得多

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52046753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档