使用FOXBASE故障排除一例

Author: 江西 廖新亮 Date: 1996-07-26

        故障分析与排除:从错误信息看是不正确的缓冲区指针调用,在DOS系统中无此错误信息,可基本断定这不是操作系统疸。程序执行时机器锁锴,有两种因素造成,一是程序死循环;二是程序走不通而阻塞。由于缓冲区指针指向不正确,因而可排除死循环,因为死循环指针调用仍是正确的。
        FOXBASE中记录的物理结构是根据稠密索引组成的非顺序文件,要处理记录首先要将文件的索引读进内存,然后查找需要的关键字确定其记录的柱面和磁道位置之后将记录读进内存,文件的关键字是存放在磁盘的一索引区内,而记录放在另一个对应区内。因此,“invalid buffpoint call”是指为处理数据将索引调入内存,指针地索引文件中查找关键字进走不通。我们无法直接观察索引文件,利用USE文件名INDEX索引文件名打打所有索引文件,点状态下用reindex重建索引文件,再运行程序正确。解决了死锁的问题。
        小结:FOXBASE是严格的数据库系统,由于操作不当,特别是打开数据库文件时未关闭而强行回到DOS状态下,或者突然掉电而引起索引文件损失。因此,FOXBASE用户在使用时要注意这一问题,以免产生不必要的麻烦。