您现在的位置: 西安电脑信息网 >> 电脑学院 >> 软件应用 >> 办公软件应用 >> Access >> 正文
Google
    欢迎访问西安电脑信息网(西安电脑网|西安IT门户网站|西安电脑行情|西安电脑报价|西安电脑资讯|电脑爱好者论坛|电脑学院|IT图库|西安网站制作|西安网站建设),网站正在建设中,谢谢您的支持,希望能给您一份满意的收获!  [admin]        
防止ACCESS数据库被下载的9种方法
作者:佚名    教程来源:本站原创    点击数:    更新时间:2007-10-14

9.利用NTFS分区的文件权限设置(by percyboy)

    我们已经知道,ASP.NET 中使用 ADO.NET 访问数据库,通过 OleDb 的连接可以访问 Access 数据库— —我们非常常用的低端数据库之一。本文讨论了 ASP.NET 中可能看到的若干错误提示,从中看到&nb sp;Access 2000 和 Access XP 创建的数据库文件 ,在访问出现错误时会出现不太相同的错误提示。希望对大家有所帮助。另一个要点是,希望通过此文,使大家对 ASP. NET 中  Access 数据库文件的 NTFS 权限设置有所新的认识 .

    (一)实验过程

    为了叙述方便,举个具体例子做个实验:应用程序为 /test ,数据库存放在 D:\wwwr oot\test\data\db1.mdb,我们已经知道在  ASP.NET 中是以一个叫做 ;ASPNET 虚拟用户的身份访问数据库的,我们需要给这个账户以特定的 NTFS 权限才能 使  ASP.NET 程序正常运行。

    为了得到最严格的 NTFS 权限设置,实验开始时我们给程序最低的 NTFS 权限 :

    a) D:\wwwroot\test\data\ 文件夹的给用户ASPNET 以如下权限:允许 拒绝完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □读取及运行 & nbsp; √ □ ;列出文件夹目录 ; √ □读取 &nbs p; &nbs p;√ □写入 &nbs p; &nbs p;□ □

    b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:√ 允许将来自父系的可继承权限传播给该 对象

    1.1 对于某个只包含有"SELECT"命令的aspx程序,上述权限设置运行时无障碍,即:上述权限 已经满足这类程序的运行了。

    1.2 对于包含有"UPDATE""INSERT""UPDATE"等命令的aspx程序, ;

    (a) 如果 db1.mdb 是 Access 2000 创 建的数据库,出现如下错误:

    "/test"应用程序中的服务器错误。

---------------------------------------

    Microsoft Jet 数据库引擎打不开文件D:\wwwroot\test\data\.&n bsp;它已经被别的用户以独占方式打开,或没有查看数据的权限。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.OleDb.OleDbException: Microsof t Jet 数据库引擎打不开文件D:\wwwroot\test\data\. 它已经被 别的用户以独占方式打开,或没有查看数据的权限。

    (b) 如果 db1.mdb 是 Access XP 创建的 数据库,出现如下错误:

    "/test"应用程序中的服务器错误。

----------------------------------------------

    操作必须使用一个可更新的查询。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.OleDb.OleDbException: 操作必须使用一个 可更新的查询。

    (c) 原因初步分析:因为包含有"UPDATE""INSERT""UPDATE"等命令,需要对数据库文件本身进 行写入操作,所以上述权限不能满足此需求,我们需要进一步放开权限。

    我们放开一些权限,a) D:\wwwroot\test\data\ 文件夹不变: & nbsp;

    b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:允许 拒绝完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □读取及运行 & nbsp; √ □ ;列出文件夹目录 ; √ □读取 &nbs p; &nbs p;√ □写入 &nbs p; &nbs p;√ □

    1.3 放开权限后继续实验,

    (a) 如果 db1.mdb 是 Access 2000 创 建的数据库,出现如下错误:

    "/test"应用程序中的服务器错误。

------------------------------------------

    不能锁定文件。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误 以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.OleDb.OleDbException: 不能锁定文件。& nbsp;

    (b) 如果 db1.mdb 是 Access XP 创建的 数据库,没有出现错误。

    (c)  原因初步分析:我们发现在打开 Access 数据库时,同时会在所在目录生成一个同名 的 *.ldb 文件,这是一个 Access 的锁定标记。鉴于此,我们猜测,用户 ASPNET 访问 Access 数据库时,也需要生成一个锁定标记,而该目录没 有允许其写入,因此出错。至于  Access XP 创建的数据库为什么没有这个错误,原因还不 得而知。

    我们进一步放开权限,a) D:\wwwroot\test\data\ 文件夹给用户ASPNET以 如下权限:允许 拒绝完全控制 &n bsp; □ & nbsp;□修改 &nbs p; &nbs p;□ □读取及运行 & nbsp; √ □ ;列出文件夹目录 ; √ □读取 &nbs p; &nbs p;√ □写入 &nbs p; &nbs p;√ □

    b) D:\wwwroot\test\data\db1.mdb 文件本身给用户ASPNET以如下权限:√ 允许将来自父系的可继承权限传播给该 对象

上一页  [1] [2] [3] [4] [5] [6] 下一页

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
 
  • 上一篇教程:

  • 下一篇教程:
  • 相关文章
    建立Access 数据库的安全门
    MicrosoftAccess秘密技巧和陷阱
    如何远程调用ACCESS数据库
    Access数据库安全的几个问题
    谈ADO访问不同数据库的差别
    用Access轻松打印带相片的证件
    XLS与MDB文件格式互换全攻略
    Access与Office其他成员轻松交流
    用Access 2000进行班级管理
    用Access设计客观试卷(3)
    热门文章
    普通教程[电脑常识]巧用QQ截图功能
    普通教程[电脑常识]什么是RSS?
    普通教程[电脑常识]网络术语_网络术
    普通教程[电脑常识]电脑显示器不显
    普通教程[电脑常识]怎么超频?什么
    普通教程[电脑常识]有线宽带路由器
    普通教程[电脑常识]一招可以克死所
    普通教程[电脑常识]如何设置液晶显
    普通教程[电脑常识]笔记本的电池的
    普通教程[电脑常识]IE问题解决方法
    推荐文章
    推荐教程[电脑常识]能上QQ不能上网
    推荐教程[电脑常识]电脑应用技巧与
    推荐教程[电脑常识]家庭多机共享上
    推荐教程[电脑常识]数据恢复常用技
    推荐教程[电脑常识]笔记本电脑使用
    推荐教程[电脑常识]如何让电脑运行
    特别声明
    本站的大部分资料、文章都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请与我联系,我们将马上进行整理,谢谢。
    - 网站地图 - 友情链接 - 联系我们 - 版权申明 - 站长信箱 - 互联网违法和不良信息举报中心
    联系方式 E-mail: 900c@163.com QQ:30834850 技术支持:西安电脑信息网
    Copyright @ 2007 - 2008 900C Inc. All Rights Reserved