我的客户已经完成了从遗留DOS系统导出数据的任务,使用RAIMA数据库,因此可以将其导入我们正在为他们编写的新系统中。看起来数据以平面文件格式存储,但是当我们打开文件时,大部分文本都是乱码。

我们确实看到Raima数据库管理器位于我们打开的文件的顶部...我们尝试使用谷歌搜索该术语,看起来它是一种旧的数据库格式。毋庸置疑,编写软件的供应商不再支持它。有没有其他方法可以让这些数据导出?

有没有办法自动从屏幕上抓取数据?

注意

这是一个简单的发票系统,所有信息都在应用程序的单个屏幕上。

有帮助吗?

解决方案

对于Raima Data Manager版本3.21A 这篇文章表明该应用程序可能是用C语言编写的,它使用 Raima数据定义语言来构建文件 - 在文件中查找类似的东西检查.dbd和.tbl - 您可能需要查看类似VI的内容有十六进制模式。数据结构很可能嵌入其中一个文件中。

修改

这里有一些链接可能会引导您获取更多信息

http://www.raima.com/

http://www.raima.com/database_technology/rdm.php3 http://www.raima.com/database/download.php3

http://database.ittoolbox的.com /主题/ t.asp T = 411&安培; p = 415&安培; H1 = 411&安培; H2 = 412安培; H3 = 415个

http://www.faqs.org/faqs/databases/free-数据库/

http://www.ittia.com/products/ittia_odbc.html

http://www.mactech.com /articles/mactech/Vol.07/07.02/db_VistaIII/index.html

其他提示

Raima 似乎还在继续,可能值得给他们发邮件或看看是否值得他们的新产品之一是向后兼容的。如果不通过逆向工程应用程序来转储数据,或者找出文件格式。

了解Raima数据库管理器的使用版本会有所帮助; db_Vista RDM Velocis RDM Embedded ?编写DOS应用程序的大概时代将有助于缩小可能的版本范围。

RDM Embedded在2000年左右由Centura作为开源发布,然后重命名为db.linux。您可能会在源代码中找到一些信息,这些信息阐明了它们如何构建文件。

无论如何db_Vista诞生于1982年,因此很可能是B-Tree文件/索引系统。

作为第二种选择(或者可能是最后的选择),如果Raima无法帮助您,您可以使用自动化工具从屏幕上抓取信息并进行分析。鉴于它是一个DOS应用程序,如果它可以在Windows控制台窗口中运行,我会使用像茄子 TestComplete HighTest 。这些工具都是主要通过GUI或UI设计用于测试自动化,但对于这类工作非常有用。我认为Hightest过去曾经有过DOS版本。

另一个选项可能是使用dos app所有的报告机制将所有应用程序数据打印到文本文件(通过重定向prn :),然后从纯文本格式解析它 - 这将是很多工作(虽然正则表达式可以迅速解析多余的垃圾)但我已经完成了。

DOS应用程序是否会在Windows XP的命令窗口中运行?如果是这样,您可以将数据剪切并粘贴到文本编辑器或电子表格中。

另一个想法发生在我身上。您可以使用Java Robot甚至简单的Win API代码将键击发送到命令窗口以翻阅记录。那是你战斗的一半。看起来命令窗口具有“全选”选项,将其与“复制”相关联。命令,你应该设置。

您还应该花费二十分钟来消除数据库格式不是那个时代常见的可能性 - db3,Paradox,Filemaker等 - 但重命名了文件扩展名。尝试在Excel中打开或类似指定格式(如果需要,首先将额外的过滤器添加到Excel)。 Borland的数据库桌面也曾经适合这种考试。

这是一个很长的镜头,但是在一些“模糊”的文件格式被证明是一个更为常见的特定版本(特别是db3)的情况下,它在几次得到了回报。在DOS时代之外,我发现了不时出现的Obfusticated Access文件。

Raima(至少我使用的版本)附带了一个名为datdump的工具,它以人类可读的格式写出数据文件。还有一个名为dbexp的工具可以从Raima数据库生成CSV文件。

我敢打赌Raima的优秀人员可以帮助你。我知道他们还在。我看到他们的网站甚至在其支持区域中发布了他们的数据文件的文件格式。这可能会从Raima的版本变为版本,但应该让您对如何开始编写自己的提取代码有所了解。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top