CWBZZ5008尝试连接到系统时发生安全性错误

时间:2012-05-11 07:13:14

标签: asp-classic transactions ibm-midrange

我们有一个ASP Classic 遗留Web应用程序,它托管在IIS中的Windows Server 2003中,连接在我们的数据库服务器中,这是 AS/400 。我们目前正在将数据库服务器从 v5r4m0 升级到 v6r1m0 ,因此我们在Web服务器中安装update以连接到新的数据库服务器并将所有连接字符串更改为正确的数据库服务器。

我们在ASP Classic网站上有这个代码:

set objConn2 = server.CreateObject("ADODB.Connection")
objConn2.open connStringGlobal

objConn2.BeginTrans

if rsCheck.eof then
    objConn2.execute(InsertQuery)
    objConn2.execute(InsertQueryRCDREF)
    objConn2.execute(UpdateQuery)
end if

objConn2.CommitTrans

if err.number <> 0 then
    session("errMsg") = "An error occured while processing your request. Please try again. <br><br>[Error Description : " & err.Description & "]<br><br>" & InsertQuery & "<br><br>" & UpdateQuery & "<br><br>" & InsertQueryRCDREF
    objConn2.RollBackTrans  
    objConn2.close
    set objConn2 = nothing
    response.Redirect(request.ServerVariables("HTTP_REFERER"))
else    
    objConn2.close
    set objConn2 = nothing
    response.Redirect("default.asp?p=pending")
end if

但它在objConn2.BeginTrans行引发错误:

  尝试连接到系统时

CWBZZ5008发生安全错误

这里发生的是连接被打开并且执行了objConn2.execute的行,数据被插入到我们的数据库中,尽管它经历了回滚事务和关闭连接,并在UI中显示错误消息。

这是我们到目前为止所尝试的内容:

  • 将连接字符串服务器名称替换为数据库服务器的IP地址
  • 如果有未关闭的连接,请检查所有旧版代码

但我们仍然没有运气。该网站目前正在生产,由于此错误而停止生产,因此我们确实需要解决此问题,并且已经尝试解决此问题。我们真的需要帮助。


我们在同一服务器和ASP Classic中运行的其他站点连接到具有事务的同一数据库服务器工作正常,只有带有此代码的此站点才会引发错误。

1 个答案:

答案 0 :(得分:0)

问题是因为从旧数据库服务器迁移到新数据库服务器的表还没有任何日志,因此在使用事务时会发生错误。

  

日志维护事务和数据库更改的审计跟踪。使用事务日志和数据库更改日志,事务日志记录每个事务的所有基本数据,包括数据值,事务时间和终端号码。数据库更改日志包含已由事务修改的记录副本之前和之后。 - wikipedia.org