我已经从文件组织软件中遗留了DBF
,FPT
和CDX
文件。从CDX和FTP后缀判断,我认为它是一个Visual FoxPro数据库。从第一眼看到DBF文件,它看起来像在那里有field descriptors。我想查看哪些数据存储在那里并使用或提取任何有用的东西。如何从Delphi访问Visual FoxPro表格?
00000000: 31 0B 06 0E-2F 00 00 00-08 02 28 01-01 00 00 01 1/ (
00000010: 00 00 00 00-00 00 00 00-00 00 49 40-01 7F 00 00 [email protected]
00000020: 4E 41 4D 45-00 00 00 00-00 00 00 43-01 00 00 00 NAME C
00000030: FF 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00000040: 43 41 54 5F-52 4F 4F 54-49 44 00 42-00 01 00 00 CAT_ROOTID B
00000050: 08 00 04 00-00 00 00 00-00 00 00 00-00 00 00 00
00000060: 50 52 4E 54-5F 49 44 00-00 00 00 42-08 01 00 00 PRNT_ID B
00000070: 08 00 04 00-00 00 00 00-00 00 00 00-00 00 00 00
00000080: 41 54 54 52-49 42 53 00-00 00 00 49-10 01 00 00 ATTRIBS I
00000090: 04 00 04 00-00 00 00 00-00 00 00 00-00 00 00 00
000000A0: 49 53 5F 45-58 43 4C 55-44 45 00 49-1A 01 00 00 IS_EXCLUDE I
000000B0: 04 00 04 00-00 00 00 00-00 00 00 00-00 00 00 00
000000C0: 43 41 54 5F-49 44 00 00-00 00 00 42-1E 01 00 00 CAT_ID B
000000D0: 08 00 0C 00-00 00 00 00-00 00 00 00-00 00 00 00
000000E0: 54 53 00 00-00 00 00 00-00 00 00 37-26 01 00 00 TS 7&
000000F0: 08 00 14 00-00 00 00 00-00 00 00 00-00 00 00 00
我尝试什么至今:
- 升级出的现成的Windows 7 ODBC驱动程序存根版本6.01.8629.01
创建用户DNS为“自由表目录”和指点其到文件集合的路径
在各种工具(如SQL Explorer和SQL Server导入/导出向导)中未列出该OBDC DNS的表。
- 手动尝试
SELECT * FROM
任何DBF文件给我[Microsoft][ODBC Visual FoxPro Driver]Not a table.
错误。
而且,我想:
- 创建BDE别名与FoxPro驱动
- 打开任何的数据库DBF文件桌面
双方试图打开一个表导致Corrupt table/index header.
错误。
此外,我只是尝试tDBF component,但它看起来被遗弃和加载与Kylix Libc
依赖关系,因此不编译德尔福W/O固定。
吨问题:
- 我如何确认哪些文件是真正的Visual FoxPro?
- 上述症状是否表示真正的数据损坏或只是不兼容/错误配置?
- 最后,如何使用现代的东西来访问表格并开始检查数据?
关于第二点 - VFP ODBC驱动程序将打开Visual FoxPro和任何其他版本,直接返回(可能)像dBase和Clipper这样的DOS产品 - 所以如果它窒息,那它更可能是不是实际上是DBF格式,或者是与配置问题相反的损坏。我正在查看字段描述符从哪里开始,对于我来说这对于DBF来说是错误的,它们应该晚点来。 – 2014-09-11 07:46:43
@Alan B,从我拼在一起的字段描述符应该从字节偏移量32开始,这似乎是上面的情况。 (我不是DBF专家) – Lars 2014-09-11 08:32:03
它看起来像它,结构解释[这里](http://msdn.microsoft.com/en-us/library/aa975386%28v=vs.71%29.aspx)。最快的检查是用excel打开.dbf。 – 2014-09-11 08:41:19