从非常旧的unix机器中提取数据

时间:2013-02-26 16:33:19

标签: sql database unix odbc

首先道歉,如果这个问题看起来像是一面文字,我想不出格式化它的方法。

我有一台有价值数据的机器(大约在1995年),机器正在运行unix(SCO OpenServer 6),上面存有某种数据库。

通常通过软件包访问数据,许可证已过期且开发人员不再进行交易。

软件包通过telnet连接到机器以检索数据和修改数据(由于许可证被更改,telnet连接不再起作用)。

我可以通过网络上的ODBC驱动程序(SeaODBC.dll)访问该计算机,这就是我计划提取数据的方式,但到目前为止,我已经在24小时内检索到了300,000行,总计我在那里估计总计约50,000,000行,所以目前的速度需要6个月!

我需要一种更快捷的方法,通过ODBC从机器中提取数据,或者在机器上本地提取整个数据库到外部驱动器/网络驱动器或其他外部源。

我玩过unix界面,我能找到的唯一大文件是单个字符文件夹的大量矩阵(例如A \ G \ data.dat,A \ H \ Data.dat等)。 / p>

有谁知道如何在机器上找到已安装的数据库系统?希望它是一个标准,我将能够找到一种方法将所有内容导出到一个格式很好的文件。

修改

在文件系统中搜索我在root > L下找到了一个文件夹,其中包含许多单字母文件夹,每个字母文件夹包含更多单字母文件夹。

还有一些文件以我需要的表格命名(例如“ooi.r”),其格式如下:

<Id>
[]
    l for ooi_lno, lc for ooi_lcno, s for ooi_invno, id for ooi_indate
    require l="AB"
    require ls="SO"
    require id=25/04/1998
    {<id>} is s
    sort increasing Id

2 个答案:

答案 0 :(得分:1)

我不认识那些类型的文件名A\G\data.dat等等(文件名中带有反斜杠???),它可能是一种专有格式,所以我不会期望从那条大道上获得太多。您可以尝试在这些上运行file,看看它们是否处于任何可识别的格式,只是为了看...

我建议通过虚拟化系统来提高ODBC上的数据提取速度。现代计算机将具有更快的内存,更快的磁盘和更快的CPU,并且可以更快地提取数据。您必须从旧系统中提取磁盘映像才能对其进行虚拟化,但希望从磁盘读取所有内容时的单个顺序传递不会太慢。

我不知道这个系统的架构是什么,但我想它是x86,这意味着它可能不太难以虚拟化(取决于SCO OpenServer 6 OS与虚拟化的一致程度)。您将不得不使用支持完全虚拟化(而不是半虚拟化)的虚拟机管理程序。

答案 1 :(得分:0)

我终于解决了这个问题,使用其他工具(不通过MS Access或MS Excel)运行查询的速度更快,最终使用DaFT(数据库捕获工具)到SELECT INTO文本文件。在几个小时内处理了所有5000万行。

我使用的dll驱动程序似乎与任何MS产品都不兼容。