我们正在将一个已有10年历史的JRun应用程序迁移到JBoss,并且正在努力应对奇怪的JDBC错误 对于使用SQL本地临时表的所有存储过程调用。 所有存储过程在具有micromedia jdbc驱动程序的JRun服务器中都能正常工作。
这是我们的堆栈跟踪之一:
无效的对象名称'#msgs'。 - 被调用存储过程中的临时表 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError():第216行 com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult():1515行 com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement():404行 com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement $ PrepStmtExecCmd.doExecute():350行 com.microsoft.sqlserver.jdbc.TDSCommand.execute():第5696行 com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand():第1715行 com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand():第180行 com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement():第155行 com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery():第285行 org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery():第462行 gov.ocda.cms2.control.violation.FormServlet.violationApproval():839行 gov.ocda.cms2.control.violation.FormServlet.doPost():第72行 gov.ocda.cms2.core.CMSServlet.service():第46行 javax.servlet.http.HttpServlet.service():第847行
我的问题是为什么Connection.prepareCall()
会返回org.jboss.jca.adapters.jdbc.WrappedPreparedStatement
?
它是否与从JDBC抛出的SQL异常有关?
答案 0 :(得分:0)
您正在使用JBoss的连接池/ JCA资源适配器。连接池和资源适配器包装Connection
和其他派生的JDBC对象(如Statement
),以便它可以控制,限制和监视一些正常的JDBC行为,以确保连接池,分布式事务等的完整性
这与您看到的错误无关。