问题:为什么访问网站ASP程序时提示“microsoft vbscript 运行时错误 (0x800a0046) 没有权限或拒绝的权限”,或者出现“microsoft jet database engine (0x80040e09) 不能更新。数据库或对象为只读”。
原因:
asp系统安装在ntfs分区,而asp系统的目录没有给访问的用户读写权限引起的。
IIS的access数据库“不能更新。数据库或对象为只读”解决办法:
很简单..到你数据库的文件夹上右击..里面有个共享和安全
你点安全..到组或用户名称里面添加个用户everyone 然后把他的权限设置成
完全就可以了..
如果你右击没用安全选项..那么你在工具->文件夹选项->查看 把使用简单的文件共享去掉就可以看到安全选项了.
everyone 安全问题:
ASP没有写权限或者Access数据库本身没有写的权限,那么就会***这个错误。由于通过浏览器访问网站大都使用Internet匿名访问,
我们 只需要在数据库的目录权限里添加上“IUSR_计算机名”用户就可以了,分给它“写入”权限。我发现一些文章说
让加入EveryOne用户,并 给“写入”权限,这个太危险了。原则上是此目录加的可以写入用户就是在IIS中配置的时候加的
Internet匿名访问用户,一般默认为 “IUSR_计算机名”,不过如果是虚拟主机就要自己看看了。
具体的操作方式就是:
鼠标右键点击数据库所在目录(或者它上级目录,但 是注意要能够继承权限)-〉选择“共享和安全”-〉选择“安全”选项卡-〉
点击“添加”按钮-〉点击“高级...”按钮-〉点击“立即查找 (N)”按钮-〉找到前缀为“IUSR_”的用户名
(格式为IUSR_计算机名)-〉选中此用户,点击确定-〉这样这个用户就被加进来了-〉在 “Internet来宾帐户”的权限框中,
除了默认的还要选中“写入权限”-〉“应用”或者“确定”即可