现在的位置: 首页 > 综合 > 正文

ACCESS”数据库提示它已经被别的用户以独占方式打开,或没有查看数据的权限”的问题

2012年04月11日 ⁄ 综合 ⁄ 共 1170字 ⁄ 字号 评论关闭
字体变小字体变大
在winxp中使用动态数据库技术遇到ACCESS"数据库提示它已经被别的用户以独占方式打开,或没有查看数据的权限"的问题会出现在
(1)用浏览器打开动态页面时
(2)使用Dreamweaver连接数据库时
解决上面问题的办法是让数据库文件给相关用户有读取和写入的权限.
1. 我们首先再次总结一下 Access 数据库文件的 NTFS 权限设置的缘起:
在 ASP.NET 中默认是以一个叫做 ASPNET 的虚拟用户的身份来访问、操作数据库的,你可以在“控制面板”-“管理工具”-“计算机管理”-“本地用户和组”-“用户”中看到这个用户,默认情况下是:
全名:ASP.NET 计算机帐户
描述为:用于运行 ASP.NET 辅助进程(aspnet_wp.exe)的帐户。
隶属于:Users组。
使用这么一个隶属于 Users 组的用户来进行文件操作、数据库操作的风险是要比用一个 Administrators 组的用户的风险要小得多,这也是 ASP.NET 在安全方面的一个考虑吧。
既然是这么一个用户需要访问、操作数据库文件本身,那么我们就需要给它一定的 NTFS 权限以允许它的访问。显然没有 NTFS 的权限许可,ASPNET 就无法访问、操作数据库,就会出现上面实验中所看到的那些错误了。

2. 经过上面的实验,我们已经知道如下的 NTFS 权限设置是可以满足一般需求的:
a) D:\wwwroot\test\data\ 文件夹给用户ASPNET以如下权限: 允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录 √ □
读取 √ □
写入 √ □

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

同时我们也注意到 db1.mdb 是否为“只读”文件对 ASPNET 的访问也会有一定影响。

3. 上述权限设置可以直接设置给 ASPNET 用户自己,也可以设置给 Users 组,或者直接给 Everyone 组上述权限都是可以的。因为 ASPNET 隶属于 Users 组,可以通过 用户组 给 ASPNET 设置权限。

4. NTFS 权限在文件或文件夹右击后得到的“属性”对话框-“安全”选项卡中设置,一般情况下,可以考虑给 Adminitrators 组以“完全控制”的权限,同时不要轻易在“拒绝”中打勾,有关 NTFS 权限设置的技巧,可以咨询网络管理员、网络安全专家的建议。
注:FAT, FAT32 格式的分区中不支持 NTFS 权限。
5. Windows 2000 系列,Windows Server 2003 系列的“安全”选项卡默认是很容易找到的,但 Windows XP Professional 中的“安全”选项卡默认是关闭的,可以将“控制面板”-“文件夹选项”-“查看”选项卡中的“高级设置”中“使用简单共享(推荐)”一项的“√”去除,“确定”之后,再次按照上面的方法即可看到“安全”选项卡了

抱歉!评论已关闭.