我有一个 .dbf (FoxPro) 格式的数据库。
- 如何使用 Java 从 FoxPro 中检索数据?
- 如果数据可以迁移到 MySQL,如何进行转换?
将数据转换为中间格式似乎存在缺陷,因为备忘录字段和 CSV 或 Excel 文件存在限制。
如果您对更直接的方法感兴趣,您可以考虑类似“VFP2MySQL 数据上传程序”或“Stru2MySQL_2”,它们都是由 Visual FoxPro 开发人员编写的。在此下载页面上搜索它们:
DB-Convert ( http://dbconvert.com/convert-foxpro-to-mysql-sync.php ) 是一个商业产品,您可能会觉得很有帮助。
Rick Schummer,VFP MVP
您可以使用XBaseJ通过简单的 API 直接从 Java 访问(甚至修改写入)来自 FoxPro 数据库的数据。
通过不断同步数据,直到新应用程序准备好替换旧应用程序(例如,很多时候客户仍然坚持并信任更多),这将允许您将两个应用程序(旧 FoxPro 和新 Java 一个)并排放置他们的旧应用程序一段时间)。
你有 FoxPro 的副本吗?如果需要,您可以将数据库保存为 HTML 文件。然后,您可以从 HTML 中保存为您想要的任何格式。我最近这样做是为了将 FoxPro 表保存为 Excel 电子表格(我不建议将它用于您的 Java 代码)。如果您打算使用 Java,一旦您可以访问数据,为什么不使用 Java 的一种本地存储类型呢?
两个步骤:DBF => CSV 和 CSV => MySQL。
要将 DBF(Foxpro 表)转换为 CSV,以下链接有很大帮助
http://1stopit.blogspot.com/2009/06/dbf-to-mysql-conversion-on-windows.html
CSV => MySQL MySQL 本身支持 CSV 导入选项(或)读取 csv 文件此链接有助于 http://www.csvreader.com/java_csv.php 我使用 Java CsvReader 读取 CSV 文件并通过程序插入记录。为此,我将 PreparedSatement 与 Batch 一起使用,以下链接提供了该 http://www.codeweblog.com/switch-to-jdbc-oracle-many-data-insert/的示例
我想对 FoxPro 数据进行 CSV 导出,然后编写一个以 CSV 作为输入的 Java 小程序是最好的选择。用 Java 编写一个同时连接到 FoxPro 和 MySQL 的程序是不必要的复杂,你正在做一次迁移。
顺便说一句,PHP 在将数据插入 MySQL 方面也做得很好。主要的是您在 MySQL 模式中获取数据,因此您可以将它与您的新应用程序一起使用(我假设它是在 Java 中的。)
很久以前,我曾在同一个项目上工作过,该项目是用 FoxPro 完成的,然后我们用 MySQL 将该项目迁移到 Java。
我们将数据保存在 Excel 工作表或 .txt 文件中,因此我们创建了作为 FoxPro 数据精确副本的表格,并使用导入数据功能将数据从 Excel/CSV /txt 传输到 MySQL。
一旦我们这样做了,我认为您可以进一步关注 MySQL 数据。
但请记住,工作需要一些时间,我们需要耐心等待。