我正在开发一个C#应用程序,它在一些旧的dbf文件中读取/保存数据。 (使用Microsoft Visual FoxPro - 驱动程序) 直到最近我还没有遇到任何问题,当我尝试查询我之前没用过的表时,我收到了此错误消息。这个表有点特别,因为它有500多列,我怀疑这可能与它有关 - 但到目前为止我没有用谷歌搜索任何迹象都会导致任何问题。
我查看了this document并检查了标题记录计数是否与实际计数匹配(1条记录); 本文档是迄今为止我发现的唯一一个好的提示,它不需要任何重型dbf修复工具。
我尝试过使用Microsoft Visual FoxPro和VFPOLEDB驱动程序,它们都提供了或多或少相同的错误消息。
我已尝试传递TableValidate = 0
命令,但未成功。
是否有任何人有解决/解决此问题的方法,最好使用C#。
答案 0 :(得分:4)
VFP表不支持500列,因此这不是VFP表。您需要找出它是什么类型的表,并使用适当的驱动程序打开它。
答案 1 :(得分:0)
如果表格已损坏,您可以使用CmRepair.app进行修复。此程序是Visual Foxpro 8应用程序(不是已编译的.EXE),因此您需要VFP来执行它。
如果您没有安装VFP,可以下载utility program我在未安装VFP的客户中执行VFP脚本和.APP。 VFP8运行时可用here。然后使用runner CmRepair.app
运行程序并修复表。
答案 2 :(得分:0)
从Tamar的评论中,它让我想到了另一个使用.DBF文件格式的应用程序数据库...... Clipper。这是一个描述其表容量的链接..
这可能是您正在寻找的缺失链接。