Sql 访问Web上的MDB不插入

Sql 访问Web上的MDB不插入,sql,ms-access,vbscript,asp-classic,odbc,Sql,Ms Access,Vbscript,Asp Classic,Odbc,我有一个简单的ASP应用程序,它使用Access MDB作为后端。我已经在ISP的服务器上创建了一个名为ParProf007的ODBC系统,他们已经设置了该文件所在文件夹的相应权限 我的问题是,我可以查询数据库并在其上创建新表。但是,插入不会执行任何操作,也不会抛出错误 作为测试,我在连接上尝试了一个基本的直接命令。我将MDB复制到本地系统,并验证是否已创建新表: <% Set conn = Server.CreateObject("ADODB.Connection") conn.Open

我有一个简单的ASP应用程序,它使用Access MDB作为后端。我已经在ISP的服务器上创建了一个名为ParProf007的ODBC系统,他们已经设置了该文件所在文件夹的相应权限

我的问题是,我可以查询数据库并在其上创建新表。但是,插入不会执行任何操作,也不会抛出错误

作为测试,我在连接上尝试了一个基本的直接命令。我将MDB复制到本地系统,并验证是否已创建新表:

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("dsn=ParProf007")

conn.execute("create table test (testid char(10))")
%>

当我根据表生成报告时,没有得到预期的记录

接下来,我尝试了针对连接的另一个直接查询:

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("dsn=ParProf007")

conn.execute("insert into test (testid) values ('xpd99111')")
if err = 0 then
  response.write("Success")
else
  response.write("Failure")
end if
%>

ASP打印了“成功”

但是,当我(再次)将MDB下载到本地系统时,我试图查询表,但再次没有得到任何记录,尽管这条记录应该存在

我错过了什么?为什么我的Access MDB允许创建表而不允许插入?访问中是否存在延迟?我需要提交我的事务吗?如果是,怎么做?此过程在我的本地web服务器上完全按照预期工作


更新我最终放弃了使用Access,并使用MySQL创建了一个数据库。Intermedia允许两个高达540MB的免费数据库,因此就我而言,这就足够了。我仍然不知道为什么Access在远程服务器上的行为与本地服务器不同。

是否正确关闭连接?可能有一个隐式事务在连接关闭之前不会提交?您也可以尝试将您的执行包含在带有conn.beginters和conn.CommitTrans的显式事务中。如果您验证该事务是否实际完成,请查看DBEngine.Idle dbRefreshCache()。err=0的目的是什么?您是否在下一次错误恢复时使用
?如果是这样,您应该使用
Err.Number 0
。如果您正在使用“错误恢复下一步”
,是否尝试禁用它并查看实际的错误消息?再往下,连接将通过
conn.close关闭。在我昨晚发布这篇文章之后,我修改了代码以将execute放在事务中,但它仍然不起作用。在代码的主体中有一个
on error
resume next
,就在一连串的
conn.execute
语句之前。