3个回答
展开全部
有几个主要的错误原因:
winXP系统
XP操作系统安装好,文件夹选项里面默认使用简单共享(推荐),把这个选项去掉, 再在文件夹上右键点击,就会出现安全这个选项卡, 原来默认的没有,然后在安全选项卡里面可以设置用户的写入权限了 右击数据库>安全>everyone>将需要的勾上
2.第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = “Update Products Set UnitPrice = 2;” Set Conn = 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)载入到高版本(ACCESS 2000) 中的查询时,在执行这个查询是会出现该错误 .
6.此类错误一般出现于文件系统为NTFS格式中,是IIS匿名帐号(IUSR_计算机名)对相关文件、文件夹操作权限不足引起的。
一、存放数据库文件夹对IIS匿名帐号没有写入、修改权限,错误表现为无法对数据库进行更新、写入
二、 系统临时文件夹目录对IIS匿名帐号没有写入、修改权限,错误表现为访问服务器上任何采用Microsoft JET Database Engine 链接Access类数据库的文件都是出错。正常情况下是不会出现这个错误的,当使用某些系统垃圾清理优化工具、或其它一些因素可能会导致这个目录权限发生 改变。所以请慎重使用此类工具。
解决办法
一、检查存放Microsoft Access数据库文件的文件夹是否有对IIS匿名帐号有写入权限,如果没有,请赋于写入权限,特别是当错误信息为(Microsoft JET Database Engine 错误 ’80004005′ 操作必须使用一个可更新的查询。)时。
二、JET 引擎在链接数据库的时候会在%windir%/temp/目录下创建临时文件,而IIS匿名帐号对%windir%/temp/目录操作权限不够,添加IIS匿名帐号(IUSR_计算机名)对%windir%/temp/的读写权限即可。
其它一些未指定的错误,可以尝试重新注册ASP脚本解释链接库文件。
依顺序运行以下命令:
1.regsvr32 jscript.dll
2.regsvr32 vbscript.dll
3.iisreset
winXP系统
XP操作系统安装好,文件夹选项里面默认使用简单共享(推荐),把这个选项去掉, 再在文件夹上右键点击,就会出现安全这个选项卡, 原来默认的没有,然后在安全选项卡里面可以设置用户的写入权限了 右击数据库>安全>everyone>将需要的勾上
2.第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。
SQL = “Update Products Set UnitPrice = 2;” Set Conn = 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)载入到高版本(ACCESS 2000) 中的查询时,在执行这个查询是会出现该错误 .
6.此类错误一般出现于文件系统为NTFS格式中,是IIS匿名帐号(IUSR_计算机名)对相关文件、文件夹操作权限不足引起的。
一、存放数据库文件夹对IIS匿名帐号没有写入、修改权限,错误表现为无法对数据库进行更新、写入
二、 系统临时文件夹目录对IIS匿名帐号没有写入、修改权限,错误表现为访问服务器上任何采用Microsoft JET Database Engine 链接Access类数据库的文件都是出错。正常情况下是不会出现这个错误的,当使用某些系统垃圾清理优化工具、或其它一些因素可能会导致这个目录权限发生 改变。所以请慎重使用此类工具。
解决办法
一、检查存放Microsoft Access数据库文件的文件夹是否有对IIS匿名帐号有写入权限,如果没有,请赋于写入权限,特别是当错误信息为(Microsoft JET Database Engine 错误 ’80004005′ 操作必须使用一个可更新的查询。)时。
二、JET 引擎在链接数据库的时候会在%windir%/temp/目录下创建临时文件,而IIS匿名帐号对%windir%/temp/目录操作权限不够,添加IIS匿名帐号(IUSR_计算机名)对%windir%/temp/的读写权限即可。
其它一些未指定的错误,可以尝试重新注册ASP脚本解释链接库文件。
依顺序运行以下命令:
1.regsvr32 jscript.dll
2.regsvr32 vbscript.dll
3.iisreset
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询