我可以使用哪些FoxPro数据工具来查找损坏的数据?

时间:2020-03-05 18:39:28  来源:igfitidea点击:

我有一些从FoxPro数据库导入数据的SQL Server DTS程序包。直到最近,它的运行情况还不错。现在,从FoxPro表之一中导入数据的脚本将大约470,000条记录轰炸到导入中。我只是将数据拉入具有可为空的varchar字段的表中,因此我认为这一定是一个奇怪/损坏的数据问题。

我们将使用什么工具来查找此类问题?

仅供参考,这是我得到的错误:

Data for source column 1 ('field1') is not available.  Your provider may require that all Blob columns be rightmost in the source result set.

该表中不应有任何Blob列。

感谢建议。我不知道这是否肯定是腐败问题。我刚刚开始从我的MSDN订阅下载FoxPro,所以我看看是否可以打开表格。 SSRS打开表,它在遍历所有记录之前就cho住了。我只是想找出它有问题的记录。

解决方案

回答

我们是否尝试编写一个仅将现有数据复制到新表的小程序?

还,

http://fox.wikis.com/wc.dll?Wiki~TableCorruptionRepairTools~VFP

回答

Cmrepair是修复损坏的.DBF文件的优秀免费软件实用程序。

回答

我的公司使用Foxpro来存储大量数据...根据我的经验,数据损坏非常明显,表首先无法打开。我们有foxpro的副本可用来打开桌子吗?

回答

@槊:

如果我们有权访问Visual FoxPro命令行窗口,请键入:

SET TABLEVALIDATE 11
USE "YourTable" EXCLUSIVE    && If the table is damaged VFP must display an error here
PACK    && To reindex the table and deleted "marked" records
PACK MEMO    && If you have memo fields

这样做之后,表的结构必须是有效的,如果我们想查看包含无效数据的字段,可以尝试:

SELECT * FROM YourTable WHERE EMPTY(YourField)   && All records with YourField empty
SELECT * FROM YourTable WHERE LEN(YourMemoField) > 200   && All records with a long memo field, there can be corrupted data

等等。

回答

在470,000条记录上,我们可能要检查一下是否接近FoxPro表大小的2 GB限制。据我了解,记录仍然可以存在,但是在2个演出点之后将变得无法访问。