+ -
当前位置:首页 → 问答吧 → 服务器上的access数据插入更新出错,查询正常

服务器上的access数据插入更新出错,查询正常

时间:2011-12-08

来源:互联网

今天修改了数据库某表的一个字段,重新上传后,就出问题了,能正常查询数据,但是插入更新数据是出错。

本地能正常运行,我觉得是权限的问题,但是不知道怎样修改。

求指导。。。。

作者: Shryap   发布时间: 2011-12-08

IIS的权限改一下,要设置可以写入。

作者: Return_false   发布时间: 2011-12-08

怎样设置,能具体点吗
引用楼主 shryap 的回复:
今天修改了数据库某表的一个字段,重新上传后,就出问题了,能正常查询数据,但是插入更新数据是出错。

本地能正常运行,我觉得是权限的问题,但是不知道怎样修改。

求指导。。。。

作者: Shryap   发布时间: 2011-12-08

怎样设置,能具体点吗
引用 1 楼 return_false 的回复:

IIS的权限改一下,要设置可以写入。

作者: Shryap   发布时间: 2011-12-08

捕捉到这个异常 “操作必须使用一个可更新的查询。”

作者: Shryap   发布时间: 2011-12-08

acess 数据文件添加写权限

作者: le616   发布时间: 2011-12-08

怎样修改,我在本已经文件限权上添加了everyone,权限是完全控制了,上传服务器上还是不行
引用 5 楼 le616 的回复:

acess 数据文件添加写权限

作者: Shryap   发布时间: 2011-12-08

服务器能操作吗,将access文件所在的文件夹的权限设置为everyone。

作者: liuyang509   发布时间: 2011-12-08

不能
引用 7 楼 liuyang509 的回复:

服务器能操作吗,将access文件所在的文件夹的权限设置为everyone。

作者: Shryap   发布时间: 2011-12-08

权限问题
  线下修改数据库 替换吧!

作者: yuan521929   发布时间: 2011-12-08

试过,问题仍存在,除了限权问题,还有会其他问题?
引用 9 楼 yuan521929 的回复:

权限问题
线下修改数据库 替换吧!

作者: Shryap   发布时间: 2011-12-08

有几个主要的错误原因:
这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为
ADO由于以下的几个原因而不能够写数据库造成的。
1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。
要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。
当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写的权限,因为
Jet需要在该目录建立一个.ldb文件。
2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL="UPDATEProductsSetUnitPrice=2;"
SetConn=Server.CreateObject("ADODB.Connection")
Conn.Mode=3'3=adModeReadWrite
Conn.Open"myDSN"
Conn.Execute(SQL)
Conn.Close
注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3。还有可能是在ODBC管理器中将该DSN的只读选项选中。
4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新
这两个表中各自字段。
5。当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS2000)
中的查询时,在执行这个查询是会出现该错误。

网上搜到的。。。
第5,是什么意思??

作者: Shryap   发布时间: 2011-12-08

我用的系统是win7,access版本是2007 access数据库所在的文件添加了everyone 限权上设置了完成控制。

服务器上的access数据库是用access 2003创建的....我未修改前网站是可以正常运行的,

向某表添加了一个字段后。

所有的插入更新操作都出现

“操作必须使用一个可更新的查询。”

作者: Shryap   发布时间: 2011-12-08