代码之家  ›  专栏  ›  技术社区  ›  MattBelanger

读取Paradox数据库文件

  •  8
  • MattBelanger  · 技术社区  · 15 年前

    我正在与一个客户合作,他有一个现有的系统,建立在一个悖论数据库的基础上。我有一个包含.db、.mb和.px文件的zip文件形式的数据库,每个表一个。

    我需要获取(一些)这些数据并将其导入到使用MySQL的Web应用程序中。有没有人可以帮我提取这些数据,而不需要安装Paradox?

    如果没有,Paradox是否以某种可读格式导出?或者像SQL或者一些可以很容易地解析的东西?我的客户负责这个系统的人是一个志愿者(他们是非营利组织),所以我想给他一个解决方案-因为上次我要数据的时候,我得到了这个,这显然不好。

    7 回复  |  直到 9 年前
        1
  •  2
  •   A. I. Breveleri    15 年前

    DOS的Paradox和Windows平台的Paradox都将以分隔文本、固定长度文本和Lotus1-2-3格式导出数据表。老版本的Paradox for DOS还编写了Lotus Symphony,而稍微不那么古老的Paradox for Windows则编写了一个可以通过的Excel 5。

    但是,必须有人坐下来逐个导出表,或者编写一个脚本。当然,您需要安装Paradox来编写脚本。

    - Al。

        2
  •  3
  •   Name    14 年前

    这个 wikipedia article about Paradox 列出在GPL许可下可能感兴趣的其他两件事:

    如果你有Delphi,想自己写一个转换器(需要bde来工作),你可以看看 this article 或在源代码 ConvertCodeLib on this web site . 两者都使用TClientDataSet,它可以编写CD(二进制格式)或XML文件。

        3
  •  1
  •   Jerry Coffin    15 年前

    女士有 instructions 用于使用MS Jet驱动程序从Paradox 3-5生成的文件中读取数据。它可以充当(至少)一个ODBC驱动程序,所以您可以使用它从任何知道如何使用ODBC的东西中读取Paradox文件。

        4
  •  1
  •   Michael Steele    15 年前

    您有几个选择:

    1. 掌握Paradox的原始软件,并使用它将数据库导出到 CSV 格式。不幸的是,Borland不再出售它,而且最新版本在WindowsXP或更高版本上运行不好。
    2. 使用Paradox或dbase/xbase ODBC驱动程序访问数据库。Paradox和Xbase非常相似,因此您可以使用任何一个驱动程序提取数据。你也许能在某个地方找到一个Paradox ODBC驱动程序 firebirdsql.org .
    3. 使用BorlandDelphi编写一个程序,它将导出您需要的数据。正如别人提到的,你可以得到一个免费的版本 Turbo Explorer . 您还必须单独安装bde,因为它不随turbo explorer一起提供。
        5
  •  1
  •   Scott Hildebrand    12 年前

    我一直在研究从Paradox到MySQL的巨大数据迁移。我的一般方法是从Paradox导出csv文件,然后从mysql命令行导入csv文件。但是,当Paradox中存在m(Memo)字段时,该系统会崩溃,因为数据不会如预期那样被拉入csv文件。

    下面是我将Paradox数据导入MySQL的冗长过程,希望它能帮助某些人!

    • 打开Paradox中的Paradox文件,导出到dbase(.dbf)文件。它将备忘录数据导出为DBase的BLOB格式。

    • 在Paradox中打开.dbf文件。在dbfview中打开之前,可能需要将double格式转换为长整数或数字。双格式似乎不起作用。保存文件。

    • 使用此程序打开数据库文件,然后导出到Excel: http://dbfviewer.org/ 导出->XLS文件这将在Excel中打开它

    • 现在我们需要创建一个宏,因为Excel没有任何本机方法来用引号或其他任何东西括住csv字段。我已经粘贴了下面的宏,但这里是我找到的参考站点。一个站点的说明更好,但文本已损坏: http://www.mrexcel.com/forum/showthread.php?320531-export-as-csv-file-enclosed-quotes http://www.markinns.com/articles/full/export-excel-csvs-u,带双引号/

    • 在Excel中,用ctrl-f替换所有“with”,替换…任何“记录”都会把事情搞砸

    • 在Excel中,按alt-f11打开宏 插入-模块 创建此宏以保存用双引号括起来的csv文件:

      子CSVFILL()

      Dim SrcRg As Range
      Dim CurrRow As Range
      Dim CurrCell As Range
      Dim CurrTextStr As String
      Dim ListSep As String
      Dim FName As Variant
      FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
      
      If FName <> False Then
      ListSep = Application.International(xlListSeparator)
      If Selection.Cells.Count > 1 Then
      Set SrcRg = Selection
      Else
      Set SrcRg = ActiveSheet.UsedRange
      End If
      Open FName For Output As #1
      For Each CurrRow In SrcRg.Rows
      CurrTextStr = ""
      For Each CurrCell In CurrRow.Cells
      CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
      Next
      While Right(CurrTextStr, 1) = ListSep
      CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
      Wend
      Print #1, CurrTextStr
      Next
      Close #1
      End If
      End Sub
      
    • 然后运行->运行宏

    • 使用文本字段设置目标MySQLDB架构,我们希望在其中放置blob

    • 在mysql命令行中,下面是如何进行导入的示例:

      加载数据本地内嵌“c:/data.csv” 表格名称中 字段以“,”结尾 被“ 行以'\r\n'结尾 (第1列,第2列)

        6
  •  0
  •   Larry Lustig    15 年前

    Paradox是Borland数据库引擎的本地格式,它包含在各种Delphi编程产品中。所有权最近至少易手一次,但有一次有免费的Delphi“Express”版本,可以让你编写一个简单的程序来导出这些东西。如果免费版本不再可用,最低可用SKU应包括BDE功能。

        7
  •  0
  •   mk12    14 年前

    使用MS Access 2007,您可以使用免费Paradox数据库编辑器程序(Google IT)附带的BDE分发版导入Paradox 7及以下版本。使用如下连接:

    DoCmd.TransferDatabase acImport, "ODBC Database", _
        "Paradox 3.X;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=C:\apache\Archive;TABLE=Messages#db", _
        acReport, DailyArchiveName, "MyDatabase"