我是否需要.fpt和.cdx文件从Foxpro中提取数据或.dbf文件是否包含所有数据

时间:2010-09-01 13:38:02

标签: foxpro

我需要通过互联网传输大量的foxpro文件,然后将数据导入访问数据库。在某些情况下,.fpt文件比同名的.dbf文件大几倍。根据我一直在阅读的内容,似乎.dbf文件可能包含所有内容,我可以忽略.cdx和.fpt文件。这是正确的

2 个答案:

答案 0 :(得分:8)

CDX是一个复合索引文件。来自FoxPro帮助:

  

如果是表的结构复合指数   无法找到或删除文件   或重命名时,会出现一个对话框   你试着打开桌子。如果你   选择默认的取消按钮,   桌子没有打开。选择   忽略打开表并删除   标志在表的标题中   表示相关的结构   复合索引文件存在。

     

提示重新关联结构   复合指数已成为   从表中分离出来   以下命令:USE TableName INDEX   CDXFileName

如果您在没有CDX文件的情况下尝试USE来自FoxPro的表格,您将收到一个Structural CDX file not found对话框,其中包含IgnoreCancel按钮。

.fpt文件包含Memo类型字段中的数据。如果dbf具有类型Memo的字段且缺少.fpt文件,则FoxPro将无法打开dbf。 FoxPro将显示一个消息框,指出备忘录文件丢失或无效。

从我使用Access进行测试时,它似乎不会影响导入数据,因为缺少CDX文件,但是如果没有FPT文件,我无法导入数据。

答案 1 :(得分:2)

要扩展Dave的答案,是的.FPT和.CDX文件是“表”的一部分。标记为.TBK的任何文件都可以省略,这些是表的备份副本。此外,.FPT和.CDX文件仅在存在备注字段和表索引时才存在,因此缺少任何一个并不一定表示该表存在问题。

如果这是常规FTP传输,也要为偶尔损坏的表文件做好准备。