简体   繁体   English

未知数据库,如何访问?

[英]Unknown database, how to access?

I am examining a Windows application that uses a database of unknown type. 我正在检查使用未知类型数据库的Windows应用程序。 The database consists of several files with file extensions, .i, .iz, .b1, .p and .bi. 该数据库由几个文件扩展名为.i,.iz,.b1,.p和.bi的文件组成。 Is there an API that can be used to view the design, tables and contents of this database? 是否可以使用API​​查看该数据库的设计,表和内容? The ambition is to migrate the data to a MySQL environment. 其目标是将数据迁移到MySQL环境。

Use a hex editor and see db inside in binary mode. 使用十六进制编辑器,以二进制模式查看db内部。 You may get the chance to see the file type in the few starting bytes. 您可能有机会在几个开始的字节中查看文件类型。 Then change the extension appropriately and open it. 然后适当地更改扩展名并将其打开。

也许Unix file实用程序(在Cygwin中可用)可以识别它们。

From FileExt.com : FileExt.com

File Extension BI 文件扩展名BI

File type: Binary File 文件类型:二进制文件

Primary association: Binary File 主关联:二进制文件

Other applications associated with file type BI: 与文件类型BI相关的其他应用程序:

  • Progress (Database Before Image File) by Progress Software Corporation Progress 软件公司的 Progress(图像文件之前的数据库)
  • Quick Basic or Visual Basic for DOS (Include File) by Microsoft Corporation Similar to C's .H but is used only in Microsoft's DOS BASIC dialects. Microsoft Corporation的 DOS的Quick Basic或Visual Basic(包含文件) 类似于C的.H,但仅在Microsoft的DOS BASIC方言中使用。 Stands for "Basic Include". 代表“基本包含”。 This association is classified as Text. 该关联被分类为文本。

Anyway... 无论如何...

Chances are that it's not a relational database system that this program uses; 很有可能不是该程序使用的关系数据库系统。 most ad-hoc, single-use databases developed for use in one program are what are called "flat-file databases" , which means that "records" have a set size and are accessed through a method of seek -ing through it as you would a normal file. 为在一个程序中使用而开发的大多数临时的一次性数据库都是所谓的“平面文件数据库” ,这意味着“记录”具有固定的大小,并且可以通过在您使用时通过它进行seek的方法来访问一个普通的文件。 For instance, if you set the record size to 20, then the first record would be at the byte range 0-19, the second would be at 20-39, etc. 例如,如果将记录大小设置为20,则第一个记录将在字节范围0-19中,第二个记录将在20-39中,依此类推。

If you could somehow derive what the record size this particular program uses, you could split the file into the component records as binary data. 如果可以某种方式得出此特定程序使用的记录大小,则可以将文件拆分为二进制数据的组件记录。 Decoding that data into meaningful information would probably be a hassle, though. 但是,将数据解码为有意义的信息可能会很麻烦。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM