探索Access数据库最佳NTFS权限设置
写入 √ □
b)D:\wwwroot\test\data\db1.mdb文件本身给用户ASPNET以如下权限:
√ 允许将来自父系的可继承权限传播给该对象
1.5附带实验另一种情形:我们把db1.mdb在Access打开编辑,同时访问ASP.NET。
(a)如果db1.mdb是Access 2000创建的数据库,我们发现并没有出现什么问题。
(b)如果db1.mdb是Access XP创建的数据库,出现如下错误:
“/zhao”应用程序中的服务器错误。
--------------------------------------------------------------------------------
不能使用'';文件已在使用中。 说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息:System.Data.OleDb.OleDbException:不能使用'';文件已在使用中。
(c)原因初步分析:Access数据库是单用户单线程的数据库,我们在Access里面打开编辑数据库文件时其实是以当前Windows用户(比如Administrator)身份打开数据库,而ASP.NET默认使用的是ASPNET虚拟用户(隶属于Users组),级别低于Administrator,无法和Administrator“抢夺”权限,所以出现冲突错误。至于Access 2000忽略这个问题的情形我们也不必做讨论了,可能是Access 2000没有考虑那么多因素吧。
|