我正在尝试找到一种方法来访问某些管理软件的数据库,该软件使用某种原始isam文件来存储数据。数据文件夹妥协.idx和.fs5文件,我找不到任何证据表明这是一个informix类型,如stackoverflow中的另一个问题所述。
有没有人有任何解决方案来创建某种到数据库的桥梁?我没有找到c-isam驱动程序的开源odbc,是否有人知道可能有用的东西?
答案 0 :(得分:0)
FS可能是Flagship文件,该产品使用与Ashton Tate dBase III相同的格式。
This link可能会有所帮助:
通过任何十六进制编辑器打开您的* .FS5文件。如果第一个字节是(十六进制)03或83,它是一个dBaseIII +兼容的数据库,完全由FlagShip支持。如果第一个字节是04,05,13, 23,33,93,B3它是一个带有FlagShip扩展的数据库。如果* .idx的第一个字节是(hex)52,则它是FlagShip索引。请参阅http://www.fship.com/dbfspecs.txt的其他详细信息。如果适用,请转至http://www.fship.com/eval.html获取FlagShip的免费测试版。
如果 是旗舰文件,则上面给出的链接中的文档说明数据库文件的文件格式(但显然不是索引)与dBase III完全兼容,因此您可以查找软件(dBase,Clipper,FoxPro,Excel等),如果不是索引信息,可以提取数据。
他们还在其文档的LNG部分中轻松详细说明了文件格式,但dBase III格式众所周知,因此您可以在其他地方获取更多信息,例如here。
如果不是旗舰/ dBase文件,您将需要做更多的研究。互联网建议的另一件事是,它可能是一个飞行模拟器文件,似乎不太可能: - )
您可以尝试对文件运行strings
命令,以查看是否显示任何供应商类型信息。
如果做不到这一点,可能最好的解决方案是联系管理软件的供应商,看看他们是否愿意参与这些信息。像这样的社会工程可能提供比试图反向设计格式更快的解决方案。
答案 1 :(得分:0)
IBM为其在线RDBMS引擎提供了一个C-ISAM桥,它将C-ISAM文件重新托管为RDBMS中的表。然后,您可以使用SQL来访问数据。