发表于3天前查看:23|回复:0
ACCESS数据库操作必须使用一个可更糕恍阏绯新的查询 解决办法
ACCESS数据库无法更新问题:
一般在Winxp与windows 2003 server下,文件目录的只读属性会影响网站程序写数据库操作,即使用户已经去掉其只读属性,但是之后只读又失效,导致许多网站不能正常运行。事实上,网站程序目录读写权限才是影响其运行的根本原因。所以只读属性能否去掉并不重要,只需要把相应目录赋予读写权限即可。
1、在通常情况下,Web应用程序只读属性并不影响Web系统运行。在需要写入、更新数据库时,Web程序操作数据库因权限不够会提示"操作必须使用一个可更新的查询。"这种情况可能会在NTFS分区环境下出现,FTA32一般分区不会出现。将Web应用程序放在FTA32分区下运行时,不会出现因权限等问题而导致系统不能正常运行的情况,但是其安全性不如NTFS好。因此,一般网站软件可在FTA32下测试运行,单位正式网站软件建议放置在NTFS下运行。
2、现以XP环境下,NTFS格式为例。进入网站根目录,工具—>文件夹选项—>查看,将“使用简单文件共享”前的勾选去掉。
3、网站根目录赋予Everyone完全控制、读写权限。
下面以一个例子更详细的介绍解决此类问题的方法和过程
出错举例:
Microsoft JET Database Engine (0x80004005)操作必须使用一个可更新的查询。/LeadBBS/inc/Board_Popfun.asp, 第 569 行需要权限:服务器管理员,否则联系服务器管理员进行示例操作系统:Windows 2000 Server1.找到你存放网站的文件夹,比如你的网站存放在D:\WEB\News.com右键点击文件夹,选择属性
点击小图查看大图2.出来新窗口,选择安全,点击按钮添加(D)点击小图查看大图3.在出来的窗口中,找到IUSER_开头的名称,并双击,点击确定.点击小图查看大图4.确定后的结果是这个窗口,在安全的名称列表中多了刚才选择的用户点击下面的按钮 高级(V)...点击小图查看大图5.在弹出的新小窗口中,继续点击 查看/编辑(V)按钮点击小图查看大图6.出来新窗口..点击小图查看大图8.点击应用完成设置
这个错误提示
因为程序是在别的机器上完成的,应该是没有错误的,根据提示,好像是“IUSR_机器名”这个用户的权限不够,“IUSR_机器名”这个用户是用来匿名访问网站的用户,一般来说在本机调试的时候,访问自己硬盘的时候用的就是这个用户。
那就重新设定一下目录的权限就可以了,不过,当我打开asp程序所在目录的属性时,却没找到安全这个选项卡,???奇怪了!哦,我用的是winxp系统,找找看吧!肯定被藏起来了~~
“我的电脑”-“工具”-“文件夹选项”-“查看”-“使用简单文件共享(推荐)”。 靠,居然还推荐,好吧 去掉“使用简单文件共享(推荐)”前面的对号,确定,在看看~~嘿嘿 安全这个出来了吧~
看看有没有Internet来宾帐户(名字格式为“IUSR_机器名”),果然没有!添加!!!???xp里面还需要自己手动添加,我记得原来win2k里面选一下就可以了,好吧,自己动手,丰衣足食!然后将写入的权限赋予这个用户,确定!打开浏览器,嘿嘿,问题搞定!