本文提供了开始排查 Visual FoxPro 中遇到的数据损坏问题的基本步骤。
原始产品版本: Visual FoxPro
原始 KB 数: 193952
总结
使用 Microsoft Visual FoxPro 时,有时可能会遇到问题。 这些问题的原因并不总是立即清楚。 在这种情况下,需要常规方法或者通过尝试与错误的方式进行故障排除的技术。 “详细信息”部分中的步骤提供了故障排除过程的开始步骤。 这些步骤也适用于在客户端计算机上安装的 Visual FoxPro 中编写的分布式应用程序.exe文件。
第一步是确保 Visual FoxPro 产品已经正确安装,没有任何错误。 在我们的体验中,如果在与以前版本相同的文件夹中安装最新版本,则安装不会正确或可靠地完成。 这是因为所有文件可能无法正确更新或安装。
详细信息
如果在本地计算机上安装 Visual FoxPro,请使用以下步骤:
备份文件。 将任何文件保存在要保留的计算机上;特别是数据库 (.dbc/.dct/.dcx) 文件和表 (.dbf/.fpt/.cdx) 文件,以及其他源文件,例如
.pjx, .pjt, .vcx,.vct, .scx,.sct, .mnx .mnt, .frx .frt
Config.fpw 文件。完全删除 Visual FoxPro,然后删除安装它的目录。
注意
如果在步骤 3 中,则不需要执行此步骤。 需要安装到全新的子目录中。
关闭所有打开或正在运行的应用程序。 使用 Ctrl+Alt+DELETE 可打开系统任务管理器,以便查看当前正在运行的应用程序。
注意
不要关闭资源管理器,因为它是桌面用户界面。
使用 Scandisk 或第三方磁盘修复工具执行操作系统磁盘错误检查。 这些工具检查并尝试修复硬盘驱动器上丢失的任何群集。 之后,运行磁盘
Defragmenter
实用工具(在 Windows XP 中)或其他工具来优化磁盘。
再次关闭所有打开或正在运行的应用程序(请参阅步骤 1c)。
将 Visual FoxPro 安装到新的或不同的目录位置。
成功的产品安装意味着在安装过程中不会收到任何错误。 安装过程中的错误表示 Visual FoxPro 的安装不可靠。 如果发生错误:
- 请注意安装过程中出现的任何错误。
- 以安全模式或带网络的安全模式启动计算机。 此外,暂时禁用任何防病毒软件。
- 再次从步骤 1 开始。
注意
如果这是你第二次经历此过程,请尝试使用“自定义”、“最小”或“笔记本电脑”安装,而不是“完整”。
如果在网络服务器上安装了 Visual FoxPro:
- 您必须拥有一个无错误的 Visual FoxPro 安装。
- 通常,在局域网(LAN)或服务器运行时,无法执行 ScanDisk 或其他磁盘完整性检查。
- 删除并重新安装 Visual FoxPro,直到未收到安装错误。
消除所有 DUPLICATE 源代码和项目文件。 这包括网络驱动器和本地驱动器。
重复文件会导致多个问题。 请确保保留源或项目文件的正确版本,并且仅保留正确的版本。
如果项目包含 DATABASE/DBC,请验证数据库。
注意
有关详细信息,请参阅 Visual FoxPro 帮助文件中的 OPEN DATABASE 命令。
请使用 OPEN DATABASE <dbcname> EXCLUSIVE VALIDATE 命令。
错误指示表 (.dbf) 或索引 (.cdx) 损坏。
对项目进行清理。
打开项目,然后从“项目”菜单中选择“清理项目”。
错误指示项目 (.pjx) 文件损坏。
作为使用其他文件进行测试的方法,请像表一样使用该文件(.dbf),将 .dbf 结构复制到新文件,并追加原始表中的记录,并重命名文件。 如果需要,此方法需要创建新的索引 (.cdx) 文件。
注意
以下步骤使用名为 Customer.dbf 的示例表 (.dbf) 文件。
数据库、项目、屏幕、菜单、报表和标签文件实际上是表 (.dbf) 文件,其扩展名不同于 .dbf。
如果文件在 Visual FoxPro 交互或设计环境中打开,请将其关闭。
在 Visual FoxPro 命令窗口中发出以下命令:
USE customer.dbf && Must specify extension if other than .dbf. ? RECCOUNT() && Note the number of records in the table. COPY STRUCTURE to newfile.dbf USE newfile.dbf && Empty file structure without records. APPEND FROM customer.dbf && Bring in records from original table. ? RECCOUNT() && Compare number of records with original file. RENAME customer.dbf to oldcust.dbf RENAME newfile.dbf to customer.dbf
注意
与原始文件相比,新文件中记录数的差异。 这是原始文件中存在文件损坏的指示器。
如果多用户环境中出现问题或使用其他操作系统,请在其他计算机或不同的计算机环境中进行测试,例如单个用户环境。
如果损坏,FoxPro 资源文件可能会导致问题。
测试资源文件是否为一个因素的一种方法是替换文件。 下面是确定 FoxPro 资源文件名称和位置的两种方法:
可以使用以下 FoxPro 命令确定当前活动资源文件的位置:
?SYS(2005)
默认情况下,可以在 FoxPro 配置文件中指定 FoxPro 资源文件(名为 Config.fpw)。 如果配置文件指定的资源文件不存在,FoxPro 将创建一个。
使用以下 FoxPro 命令确定配置文件的位置:
?SYS(2019)
配置文件是一个 ASCII 文本文件,可以使用任何以 ASCII 文本格式保存它的编辑器进行编辑。 编辑当前活动的 FoxPro 配置文件的最简单方法是使用以下命令:
MODIFY FILE SYS(2019)
配置文件可能包含一行文本,用于指定资源文件的位置和名称,如下所示:
RESOURCE=<path>\foxuser.dbf
如果是这样,请在行的开头放置一个星号(*)以注释该行。
添加新行,如下所示:
RESOURCE=<path>\newjunk.dbf && Any name of your choice.
重启 FoxPro,使新设置生效。
创建一个日志文件,其中包含上述步骤的结果以供将来参考。
参考
有关 Visual FoxPro 的设置要求的详细信息,请参阅位于 Visual FoxPro 安装目录中的 Readme.hlp Windows 帮助文件,或位于原始安装 CD-ROM 的目录中。
Visual FoxPro 帮助;搜索:“安装 Visual FoxPro”、“测试和调试应用程序”。