单用户FOXBASE程序上网方法

Author: 南京 高宁华 Date: 1994-01-07

        1.在主程序开始处放置命令SET EXCLUSIVE OFF,其目的在于将共享打开,此后所有打开数据库的操作除特别指定独占打开外,则均为共享打开;
        2.程序中所有打开数据库命令处作如下改动:
        对于放置在服务器上的共享数据库只需加上必要的路径,例如:原先命令USE,改为USE F:\FOX\,(设该数据库存放在服务器的FOX子目录下);
        对于放置在工作站上的数据库只需加上独占短语即可,例如:原先命令USE,改为USEEXCLUSIVE;
        3.对于共享数据库进行写操作时必须锁记录,因此,在使用REPLACE,READ命令时须作如下改动:例如命令:REPLACE 数量 WITH 数量+1,应改为:REPLACE NEXT 1 数量 WITH 数量+1或改为:
        DO WHILE .NOT.RLOCK()
        ENDDO
        REPLACE 数量 WITH 数量+1
        UNLOCK
        对于READ命令也如此:原先命令READ,改为:
        DO WHILW .NOT.RLOCK()
        ENDDO
        READ
        UNLOCK
        4.对于PACK,ZAP,REINDEX命令来说,特别应注意的是:这几条命令执行前必须将数据库独占打开,但对于共享数据库往往要避免数据库独占打开,因此,改成网络程序后应考虑何时PACK,ZAP,REINDEX,一定要统筹安排,尽量保证数据既高度共享又避免碰撞。
        5.多用户网上运行程序难免发生碰撞,因此,最好编制一段出错陷井程序,来捕捉碰撞情况,提示用户是何种碰撞,是等待还是退出等等。
        6.最好在主程序最开头处加上上网测试,检测一下本工作站是否顺利上网,保证程序正确运行,最简单的上网测试如下:(设YZS.DBF在服务器上FOX子目录下)
        IF .NOT. FILE("F:\FOX\YZS.DBF")
        CLEAR
        @ 10,10 SAY '本工作站没有上网,按任一键返回!'
        READ
        QUIT
        ENDIF
        (南京  高宁华)