visualfoxpro共享数据库访问安全策略

visualfoxpro共享数据库访问安全策略

ID:31282424

大小:73.00 KB

页数:3页

时间:2019-01-08

visualfoxpro共享数据库访问安全策略_第1页
visualfoxpro共享数据库访问安全策略_第2页
visualfoxpro共享数据库访问安全策略_第3页
资源描述:

《visualfoxpro共享数据库访问安全策略》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Visualfoxpro共享数据库访问安全策略孙越董欣(沈阳师范大学职业技术学院,辽宁沈阳110036)摘要:介绍VISUALFOXPRO数据库屮对数据共亨访问技术,包括数据库共亨访问屮解决多个用户使用数据库和共享数据有效方法,为了保证数据完整性对共享访问进行限制关键字:数据库;共厚访问;安全VISUALFOXPRO对数据库中数据进行共享访问技术,解决为多个用户共享访问数据方法、保证数据安全对访问进行限制。VISUALFOXPRO支持对数据库屮数据进行独占或共享访问、锁定与解锁、记录缓冲和表缓冲技术。一、据

2、库中数据访问控制1、数据表打开方式数据库中表打开方式冇共享和独占两种方式,共厚方式允许多个用户对数据表中数据进行访问,独占方式只允许一个用户对数据表中数据进行访问。(1)独占方式打开数据表独占方式打开TABLE表:SETEXCLUSIVEONUSETABLE也可以用下而命令:USETABLEEXCLUSIVE独占方式打开表,其它用户不能访问和修改表中的数据。SETEXCLUSIVE设置不改变已经打开表的状态。在SETEXCLUSIVEON状态下打开的表,当把SETEXCLUSIVEOFF时,表保持独占状态。

3、(2)共享方式打开表进行多用户模式设计时,应以共亨方式打开表及备注、索引文件,允许多个用户同时问数据表中的数据。SETEXCLUSIVEOFFUSETABLE也可以用下面命令:USETABLESHARED当向一个共享数据表中添加或更改数据时,必须锁定记录或整个表,防止多个用户更改记录时产生冲突。2、数据锁定和解锁进行共享数据设计时,应当限制共享访问冲突,保护数据表屮数据完整性和安全性,方法就是对数据表进行锁定和解锁操作。(1)数据自动锁定口动锁定打开数据表命令:SETLOCKONVISUALFOXPRO数据

4、库中不同命令对数据表锁定范围是不同的。当表被其它用户或其它用户独占方式打开时,另一用户再进行锁定该表,操作失败。当垂复锁定表时,为了防止死锁的发生,将设置重定时间或次数。作者简介孙越(1959-),男,辽宁沈阳人,沈阳师范大学职业技术学院讲师SETREPROCESSTO参数TOAUTOMATIC参数:-2VISUALFOXPRO自动尝试重复锁定-1直到重复锁定成功为止,不允许ESC中断。0不断尝试锁定,可用ESC中断。正数加上SECONDS持续尝试锁定秒数正数未加上SECONDS表示重复锁定次数(2)数据人

5、工锁定LOCK()函数可以锁定表屮一个或多个记录FLOCK()函数可以锁定当前表或指定表(3)数据解锁解锁自动锁定记录时,只需要移动指针。UNLOCK解锁当前工作区记录或文件UNLOCKALL解锁当前工作区所有文件ENDTRANSACTION对所有口动锁定进行解锁3、缓冲技术保护数据完整性助缓冲技术,可以较好地解决数据更新过程中所遇到的冲突:当前记录被复制到一个由VISUALFOXPRO进行管理的内存或磁盘区域,其它川户仍然口J以同时访问原來记录。当离开该记录或编程方式更新该记录吋,VISUALFOXPRO

6、将准备锁定该记录,确认其它用八没有做修改,然后写入编辑结果。在试图更新数据吋,还必须解决冲突,如果有冲突应防止编辑结果写入来表。缓冲方式有记录缓冲和表缓冲两种方式:使用记录缓冲的保守式记录锁定USETABLEALIASTABLEIN0SHARECURSORSETPROP(“BUFFERING”,2)使用记录缓冲的开放式记录锁定USETABLEALIASTABLEIN0SHARECURSORSETPROP(“BUFFERING”,3)使用保守式表缓冲CURSORSETPROP(“BUFFERING”,4)使用

7、开放式表缓冲CURSORSETPROP(“BUFFERING”,4)二、数据更新控制1、使用缓冲进行更新(1)检测字状态GETFLDSTATE(字段名/字段名序号)如果使用-1,则返回一个字符串,第一位1是删除标志,2表示该记录己经被删除。第二位值为2表示字段被修改,3表示追加记录的字段未做编辑,4表示编辑了追加记录的字段,如果为1表示字段未做编辑或删除状态耒做更改。(2)检测字段值在使用缓冲技术打开表的字段含有3个可能值,首先将数据表复制到缓冲区中,保留未修改的初值,该值可用OLDVALO函数获得,其次用

8、户nJ对缓冲区中字段进行编辑,这吋在表单上显示最新值,最后在某个记录字段进行修改的同吋,这个数据表字段实际值与当前缓冲区中最初值不同。(3)发送更新数据修改完毕后,使用TABLEUPDATE()函数将保存在缓冲区中数据发送到更新数据源表。(4)数据恢复使用TABLEREVERT()函数放弃对缓冲行、缓冲表的修改,并JT各字段值恢复为保存在缓冲区中的初值可使用OLDVAL()函数得倒字段的值。对于客户机/服务器模式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。