我们知道ASP.NET中使用ADO.NET访问数据库,通过OleDb的连接可以访问Access数据库(我们非常常用的低端数据库之一)。本文讨论了ASP.NET中可能看到的若干错误提示,从中可以发现Access 2000和Access XP创建的数据库文件在访问出现错误时会给出不太相同的错误提示。另一个要点是,希望通过此文,使大家对ASP.NET中Access数据库文件的NTFS权限设置得到新的认识。
(一)实验过程
为了叙述方便,举个具体例子做实验:应用程序为/test,数据库存放在D:\wwwroot\test\data\db1.mdb,我们已经知道在ASP.NET中是以一个叫做ASPNET虚拟用户的身份访问数据库的,我们需要给这个账户以特定的NTFS权限才能使ASP.NET程序正常运行。
为了得到***严格的NTFS权限设置,实验开始时我们给程序******的NTFS权限:
a)D:\wwwroot\test\data\文件夹的给用户ASPNET以如下权限:
允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录 √ □
读取 √ □
写入 □ □
b)D:\wwwroot\test\data\db1.mdb文件本身给用户ASPNET以如下权限:
√ 允许将来自父系的可继承权限传播给该对象
1.1对于某个只包含有“SELECT”命令的aspx程序,上述权限设置运行时无障碍,即:上述权限已经满足这类程序的运行了。
1.2对于包含有“UPDATE”“INSERT”“UPDATE”等命令的aspx程序
(a)如果db1.mdb是Access 2000创建的数据库,出现如下错误:
“/test”应用程序中的服务器错误