在没有驱动程序的情况下从 C# 中读取 DBF 文件

Reading from DBF files in C# without a driver

我目前正在编写一个 C# 4.5 桌面应用程序,旨在帮助对旧的 VPF 应用程序进行故障排除。我的应用旨在显示通常会被破坏的事物及其当前状态的列表。

我需要显示的一些内容可以在 VFP 应用程序的数据库中找到,因此我需要能够读取 DBase 数据库。但是,我有一些限制使这变得棘手:

  1. 我不能保证系统上安装了任何DBF驱动程序。
  2. 我的应用程序应该 运行 没有单独的安装程序,所以我不能只是扔进 ACE 可再发行组件。 (我可以将 ACE 与 VFP 应用程序一起安装,但我不想依赖它的任何部分,甚至是捆绑的库。)

有什么我可以与我的应用程序捆绑在一起的东西,它可以读取 VFP 数据库并且不需要安装吗?

我不想这样做......但你可以自己解析 files

github 上的某个人似乎有相同的 idea

正如汤姆所说, 您可以自己解析 DBF 文件。它们的结构有据可查。

附带说明一下,ACE 与 VFP 数据库文件无关,实际上 ACE 不能 read/write DBF 文件(除非它们是旧的 DBF 格式)。正确的 VFP 数据库驱动程序是 VFPOLEDB,您可以将其设置 msi 包含在您的应用程序中。使用 VFPOLEDB 将是一条简单的道路。