揭秘WEB开发中防止ACCESS数据库被下载的方法(3)_Access数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:谈ACCESS转化为SQL SERVER的注意事项
1.ACCESS的数据库中的自动编号类型在转化时,sqlserver并没有将它设为自动编号型, 2.转化时,跟日期有关的字段,SQLSERVER默认为smalldatetime型,我们最好将它变为 datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用 smalldatetim


(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以如下权限: 
√ 允许将来自父系的可继承权限传播给该 对象 

分享:揭秘多表查询技巧
看到大家很多不会多,其实有个很简单的办法具体方法: 打开你的ACCESS 数据库对象(选择查询) 添加你要查询的表,可以是多个 然后选择他们关联的ID,然后下面选择你要查询的表字段 最后在 在空白处右键选择 SQL视图 得到正确的多表查询。 作者: jyhjyh 来源:

来源:模板无忧//所属分类:Access数据库教程/更新时间:2010-02-04
相关Access数据库教程