2009-02-28 46 views
2

上午所有必需的,帮助古老的,未知的存储系统

我已经走了,并告诉客户我可以迁移他们的一些旧数据从一个基于DOS系统到新系统,我为他们开发。然而我说,如果没有真正查看在旧系统中存储数据的文件 - 我只是认为一个快速的谷歌会为我解决所有问题......我错了!

无论如何,这个程序有一个文件夹与数百...好800文件与各种文件扩展名,.ave,.bak,.brw,.dat,.001,.002 .... .007 ,.dbf,.dbe和.his。

.Bak显然不是SQL备份文件。

有没有人有任何编程经验使用任何这些文件类型谁可能能指向我的方式来读取和提取数据的方式?

我不能提及的程序名对于我不认为原来的开发商会允许这种情况的原因...

感谢。

+0

你能给目录列表的样本?知道文件名(例如,名称相同但扩展名不同)将有所帮助。 – Uri 2009-03-01 06:08:17

回答

8

我敢打赌,.dbf文件在DBase format,这非常简单。这些内容可能会为其他人提供线索。

2

我认为Greg对.dbf文件是正确的。您应该尝试使用诸如http://filext.comhttp://dotwhat.net之类的站点来查找其他文件格式的一些信息。 .bak文件通常是具有相同名称的另一个文件的副本,但是是其他扩展名。例如,可能有database.dbf文件和database.bak文件与它的备份。您应该询问(如果可能的话)从您的客户那里使用该文件的应用程序的任何细节/文档/源代码。

+0

也试试wotsit.org – Blorgbeard 2009-03-01 05:11:42

1

回到DOS时代,程序员习惯用自己的文件扩展来编写他们认为合适的文件。 DBF可能是一个很容易阅读的DBase文件,而.BAK可能是其他重要文件之一的备份,或者仅仅是文本编辑器留下的备份。

对于其余的文件,我要做的第一件事是通过在文本编辑器中打开它们来检查它们是否是可读的ASCII格式。

如果这样不能给你一个好的结果,可以尝试在一个二进制编辑器中打开它们,该编辑器显示并排的十六进制和ASCII码,控制字符被清空。寻找可能对应于记录字段的重复模式。例如,说.HIS就像一个订单文件,它可能包含嵌入的产品代码或名称。如果是这种情况,请计算这些字段之间的字节数。如果它是一个常规数字,那么您可能有一个平面的记录二进制文件。这可以通过在应用程序中打开文件,在给定记录中查找值以及在二进制文件中搜索相应的值来解码。耗时,屁股疼痛,但一旦你掌握了它就可以工作。

快乐黑客!

3

可能是任何东西。最好的办法是用hex editor打开,看看你能看到什么

大多数旧系统使用基本的ISAM,每个表有一个文件包含一组固定长度的数据记录。其他文件很可能是指数

因为你只需要的数据,而不是索引,只是看文件具有重复数据模式(通常看起来像十六进制编辑器屏幕上好看的图案)

当你找到与数据的文件,尝试找到一个知道记录,例如“史密斯先生”,看看你是否可以制定其他领域。整数常常是按字节,日期通常编码,并从已知的开始日期天,钱可能是BCD

如果你看到一个强势的格局,那么最有可能的每个记录是一个固定长度。有可能会是在文件头块说128个或256字节,然后固定长度的记录

其中COBOL编写的许多旧系统。有很多关于net re cobol格式的信息,有些公司甚至销售COBOL ODBC驱动程序!

5

unix'文件'实用程序可用于通过它们的“幻数”识别许多文件类型。它检查文件的内容并将其与数千种已知格式进行比较。如果这些文件采用任何通用格式,这可能会为您节省大量工作。

如果它们不是通用格式,它可能会发送给您追逐红鲱鱼。就其建议而言,建议。

3

作为对GregDmitriy建议的网站的补充,还有http://www.wotsit.org(“它的格式是什么?”)文件格式的存储库。

如果没有帮助,有良好的十六进制编辑器(与转储显示)是你的朋友......我总是发现它惊人的是多么易于阅读和识别多种文件格式。

0

正如其他人的建议,我建议一个十六进制编辑器,如果你不能找出这些文件和DBF可能是DBASE。

BAK似乎是一个备份文件。我认为* .001,* .002等可能是备份的一部分。他们都是一样的大小?也许备份被分解成更小的部分,以便它可以适合可移动媒体?

最后,将此作为人生的一课。在发送该工作说明书之前,如果客户要求您将数据从系统A导入系统B,则始终要求提供样本架构和样本数据以及样本文件。很多时候,事情似乎直截了当地成为噩梦。

祝你好运!

0

一定要使用修改日期的文件为线索,如果.001,.002等都有类似的时间戳,与.BAK一起,也许,他们可能是备份的一部分。在目录中也可能有一些旧版本(可以安全地忽略)。寻找.BAT文件并尝试解析它们。

1

.DBF是dBASE或早期的FoxPro数据库。

.DAT被Btrieve和IIRC Paradox用于DOS。

的.DBE和.00x文件可能涉及到.DAT文件的临时或索引文件。

.DBF很简单。他们将使用MS Access或Excel(2007年以前的Office版本)或ADO或ODBC打开。

如果。DAT文件确实是Btrieve,你处于一个受到伤害的世界。即使您可以掌握正确版本的数据字典和Btrieve结构的副本,它们也是一团糟。 (在那里,做完了,在完成之前就穿上了T恤。)

+0

你可以用excel 2007打开dbf文件,它只是没有在支持的格式中列出 – Tim 2009-07-11 16:21:42

0

一个提示,如果.dbf文件是DBase,FoxPro或使用该格式的其他产品之一。然后你可以使用ODBC读取它们。我的系统仍然具有用于.dbf的ODBC驱动程序(Vista,VS 2008--它是如何到达那里的,我不得不寻找它,但我猜这是MDAC微软数据访问)。因此,如果ODBC驱动程序将读取.dbf文件,那么您可能没有“拔掉的世界”。

我似乎还记得(在20年前DBase III修补程序的一点信心),DBase使用.001,0.002 ...备忘录(大文本)字段的文件。

祝你好运,试图挽救数据。

0

DBF格式相当普遍。

其他文件令人费解。 我猜你要么处理旧的BTrieve文件(坏),要么(有希望)使用某些构思不良的备份方案的结果,其中有人将他的数据库备份到相同的目录而不是硬盘中哪种情况下你可以忽略这些。

0

它现在是Pervasive的一部分,但我在很多年前使用Data Junction将数据从多种文件类型迁移到其他文件类型。看看,除非你想写一个解析器。

0

的.dat也可以是旧的号角2.1文件...它的工作原理的ISAM的基础上也与键/索引文件