单用户FOXBASE程序上网方法
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
(南京 高宁华)