我有一些看似很老的firebird文件,并被要求从中获取数据。我在Windows 10x64上运行了各种版本的firebird 32 / 64bits 2.5 / 3.0 / embeded。每次使用ISQL / FlameRobin / DBeaver,我都会收到错误
不是有效的数据库
进一步调查,我使用了gstat -h(来自F2.5x64),我得到了
错误的ODS版本,预计11,遇到8224
这让我觉得那些文件很老,甚至可能来自Interbase。 我按照俄语链接http://www.ibase.ru/prevver/提供了有关ODS版本的非常好的详细信息,但我无法找到如何打开我的文件。
我正在寻找要下载的非常旧版本的firebird,或者是一些可以告诉我使用哪个版本的工具。我也试过无法打开文件的FBConvert。
感谢任何帮助! THX。
答案 0 :(得分:1)
Firebird版本高达2.5可以打开以前的Firebird版本和Interbase 6.0的数据库,但不能打开较新的或较旧的Interbase数据库。 Firebird 3只能打开Firebird ODS 12。
在不同平台上创建的数据库可能存在一些问题(例如,不同的操作系统,字节序,位数等)。
然而,数据库很可能根本不是Firebird数据库,也许它是一个gbak备份文件,或者它可能是一个完全不同的数据库系统。我不认为它是一个更新的Interbase数据库,因为那时gstat会显示令人困惑的消息“错误的ODS版本,预期11,遇到11”(或类似),因为Firebird ODS使用一个位掩码,能够从Interbase ODS版本中辨别出来。
如果向您提供数据库文件的人可以访问其系统上的数据库并确定它是Firebird数据库,则需要让他们使用gbak创建备份,确保它是可传输备份(它虽然是默认值。