为什么Connection.PrepareCall()转换为org.jboss.jca.adapters.jdbc.WrappedPreparedStatement

时间:2013-08-22 17:45:41

标签: sql jdbc jboss

我们正在将一个已有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异常有关?

1 个答案:

答案 0 :(得分:0)

您正在使用JBoss的连接池/ JCA资源适配器。连接池和资源适配器包装Connection和其他派生的JDBC对象(如Statement),以便它可以控制,限制和监视一些正常的JDBC行为,以确保连接池,分布式事务等的完整性

这与您看到的错误无关。