0

我正在开发一个在一些旧的 dbf 文件中读取/保存数据的 C# 应用程序。(使用 Microsoft Visual FoxPro - 驱动程序)直到最近我才遇到任何问题,当我尝试查询一个我以前没有使用过的表时,我收到了这个错误消息。这张表有点特别,因为它有 500 多列,我怀疑这可能与它有关——但到目前为止,我在谷歌上搜索的任何信息都没有表明这会导致任何问题。

我查看了此文档并检查了标题记录计数是否与实际计数匹配(1 条记录);该文档是我迄今为止发现的唯一一个好技巧,它不需要任何繁重的 dbf-repair 工具。

我尝试使用 Microsoft Visual FoxPro - 和 VFPOLEDB 驱动程序,它们都或多或少地给出相同的错误消息。

我试过传递TableValidate = 0命令,但没有成功。

是否有人有解决/解决此问题的方法的经验,最好使用 C#。

4

3 回答 3

4

VFP 表不支持 500 列,因此这不是 VFP 表。您需要找出它是什么类型的表并使用适当的驱动程序打开它。

于 2012-01-04T21:57:04.643 回答
0

从 Tamar 的评论中,我想到了另一个使用 .DBF 文件格式的应用程序数据库...... Clipper。这是一个描述他们的桌子容量的链接..

Apollo 数据库 - (Clipper)

这可能是您正在寻找的缺失链接。

于 2012-01-05T02:03:36.253 回答
0

如果表损坏,您可以使用CmRepair.app修复它。该程序是 Visual Foxpro 8 应用程序(不是编译的 .EXE),因此您需要 VFP 来执行它。

如果您没有安装 VFP,您可以下载我制作的实用程序,用于在未安装 VFP 的客户中执行 VFP 脚本和 .APP。VFP8 运行时可在此处获得。然后运行程序runner CmRepair.app并修复表。

祝你好运!

于 2012-01-04T13:04:18.447 回答