10

我正在与一个拥有现有系统的客户合作,该系统建立在显然是 Paradox 数据库的基础上。我有数据库,格式为 zip 文件,包含 .DB、.MB 和 .PX 文件,每个表一个。

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

如果不是,Paradox 是否以某种可读格式导出?是作为 SQL 还是可以相当容易地解析的东西?我的客户负责这个系统的人是一个志愿者(他们是一个非营利组织),所以我想去找他一个解决方案 - 因为上次我要求数据,我得到了这个,显然是不行的。

4

7 回答 7

4

关于 Paradox的维基百科文章列出了另外两件事,这可能很有趣,都在 GPL 许可下:

如果您有 Delphi 并且想自己编写一个转换器(这需要 BDE 才能工作),您可以查看这篇文章或此网站上的 ConvertCodeLib 源代码。两者都使用 TClientDataset,它可以编写 CDS(二进制格式)或 XML 文件。

于 2010-09-22T09:34:31.747 回答
2

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

但是,必须有人坐下来一张一张地导出表格,或者写一个脚本来处理它。当然,您需要安装 Paradox 才能编写脚本。

-阿尔。

于 2009-10-28T21:45:49.850 回答
1

MS 有使用MS Jet 驱动程序从 Paradox 3-5 生成的文件中读取数据的说明。它可以(至少)充当 ODBC 驱动程序,因此您可以使用它从几乎任何知道如何使用 ODBC 的东西中读取 Paradox 文件。

于 2009-10-24T04:31:07.310 回答
1

你有几个选择:

  1. 获取原始 Paradox 软件,并使用它将数据库导出为CSV格式。不幸的是,Borland 不再销售它,并且最新版本在 Windows XP 或更高版本上运行不佳。
  2. 使用 Paradox 或 dBase/xBase ODBC 驱动程序访问数据库。Paradox 和 xBase 非常相似,因此您可以使用适用于其中任何一个的驱动程序来提取数据。您可以在firebirdsql.org的某个地方获得 Paradox ODBC 驱动程序。
  3. 使用 Borland Delphi 编写一个程序来导出您需要的数据。正如其他人提到的,您可以获得一个名为Turbo Explorer的免费版本。您还必须单独安装 BDE,因为 Turbo Explorer 不附带它。
于 2009-11-11T21:41:53.887 回答
1

我一直致力于从 Paradox 到 MySQL 的巨大数据迁移。我的一般方法是从 Paradox 导出 CSV 文件,然后从 MySQL 命令行导入 CSV 文件。然而,当 Paradox 中有 M(备忘录)字段时,该系统会崩溃,因为该数据没有按预期被拉入 CSV 文件。

这是我将 Paradox 数据导入 MySQL 的冗长过程,希望它对某人有所帮助!

  • 在 Paradox 中打开 Paradox 文件,导出为 dbase (.dbf) 文件。它的作用是将备忘录数据导出为 dbase 的 blob 格式。

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

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

  • 现在我们需要创建一个宏,因为 Excel 没有任何本地方法可以用引号或其他任何内容将 CSV 字段括起来。我在下面粘贴了宏,但这里是我找到的参考站点。一个站点有更好的说明,但文本损坏: http ://www.mrexcel.com/forum/showthread.php?320531-export-as-csv-file-enclosed-quotes http://www.markinns.com/articles/完整/export_excel_csvs_with_double_quotes/

  • 在 Excel 中,用 CTRL-F 将所有“替换为 ',替换...任何”记录中的内容都会搞砸

  • 在 Excel 中按 ALT - F11 打开宏 Insert -> Module 创建此宏以保存用双引号括起来的 CSV 文件:

    子 CSVFile()

    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
    
  • 然后运行 ​​-> 运行宏

  • 使用我们希望 blob 去的文本字段设置目标 MySQL 数据库模式

  • 在 MySQL 命令行中,这是一个如何进行导入的示例:

    LOAD DATA LOCAL INFILE 'C:/data.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (column1, column2)

于 2012-07-15T23:24:39.233 回答
0

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

于 2009-10-24T04:19:13.603 回答
0

使用 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"
于 2010-06-20T04:18:54.150 回答