日期:2014-05-16  浏览次数:21363 次

一个很郁闷的iis的错误
上次机房分配了一台新电脑, 装的是XP 的系统;我在上面装了iis 5.1 然后在上面运行下,发现老是报“Microsoft JET Database Engine (0x80004005)操作必须使用一个可更新的查询。” 的错误;发现感觉是说没有权限访问数据库,后来查了很多问题,发现原因在于我装的盘是NTFS 格式,而在fat32 格式是没有问题的,这就很郁闷了。。。之前我还以为是我装了ftp 服务器可以访问这个盘,而导致的权限问题 。。。

不知大家有没有遇到过

------解决方案--------------------
假设 数据库在 c:\db\xxx.mdb
1. 命令行执行 cacls "c:\db\*.*" /T /E /G Everyone:F
2. 看下我的电脑 -右键属性-环境变量 TEMP的值,没有的话加一下
根据TEMP的值 命令行执行 cacls "c:\windows\temp\*.*" /T /E /G Everyone:F
cacls "C:\Documents and Settings\Administrator\Local Settings\Temp\*.*" /T /E /G Everyone:F

------解决方案--------------------
操作必须使用一个可更新的查询

lz注意这句话表示一个错误:程序对数据库没有写权限(一般都是ACCESS数据库)

解决方法是右键你连接的数据库,点安全选项卡,选择你的IIS匿名账户,一般是IUSER_XXXX,下面勾上写权限。这是比较保险的做法。开放一点就是把EVERYONE账户勾上读写权限(你不怕被黑的话)

楼上就是用命令行的方式给EVERYONE添加了写权限而已。。个人感觉没有必要这么麻烦 - -
------解决方案--------------------
拖一句。数据库没有写权限是IIS中该网站的账户没有对该数据库的写权限。和FTP账户无关,和你万能的管理员账户更加无关,呵呵
------解决方案--------------------
直接给数据库文件添加 user访问权限