asp使用access2003数据库没法insert

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:19:32
我是asp和access的初学者这是我写的一段asp代码
<%
Set Conn=Server.CreateObject("ADODB.Connection")
str="DRIVER=Driver do Microsoft Access (*.mdb);UID=aaa;PWD=;DBQ="&Server.MapPath("db3.mdb")
Conn.Open str
Conn.Execute "insert into abc(aaa) values(18)"
conn.close
response.write"OK"
%>
access2003数据库db3只有一个表abc,其内只有一个字段aaa(数字型)
我运行这个ASP就会提示
****************************
技术信息(用于支持人员)

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
/aaa.asp, 第 5 行
**********************************************
类似的另一段ASP代码有时候提示和上面的一样,有时候如下提示
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。
/response.asp, 第 17 行
*********************************************
可是执行select没问题,delete也不行,我怀疑时权限的问题,可是看不懂ACCESS的权

IIS_WPG组的帐户没有Access数据库文件的"修改"权限,就会产生这个异常
"IIS_WPG"用户组是用于访问和管理IIS信息的内置帐户,默认情况下对IIS中虚拟目录的文件只有"读取"
权限.
解决方法一:
在Access数据库文件上单击右键->属性->安全
单击添加,在文本框中输入"IIS_WPG",单击确定,
给IIS_WPG设置权限,选中"允许写入",确定OK!
__________________________________________________
有时查不到安全选项卡怎么办?
找到数据文件夹所在地,在窗口上找到工具-->文件夹选项-->查看-->使用简单文件共享(推荐)的勾去掉,
然后按上面写的做即可
__________________________________________________
呵呵 不好意思,在win_xp中是IWAM_machin(machine是机器名称)而不是不存在

是权限的问题,开一个everyone的用户,让他能在你当前目录下有足够的权限就可以了.具体做做法2楼已经说的够明白的了.