我們正在將一個10年的JRun應用程序遷移到JBoss,並且正在爲我們的所有存儲過程調用努力解決奇怪的JDBC錯誤 正在使用SQL本地臨時表。 所有存儲過程在帶有micromedia jdbc驅動程序的JRun服務器中都能正常工作。爲什麼將Connection.PrepareCall()轉換爲org.jboss.jca.adapters.jdbc.WrappedPreparedStatement
這裏是我們的堆棧跟蹤的一個:
無效的對象名稱#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 融爲一體。 microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand():Line 1715 com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand():Line 180 com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement():Line 155 com .microsoft.sqlserver.j dbc.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異常有關?
哪個數據庫?顯示調用存儲過程的代碼和存儲過程。 AFAIK封裝語句的原因之一是JBoss會跟蹤這些(如果你沒有正確關閉它們,它會打印警告)。以某種方式使用臨時表和連接池衝突(可能[related](http://stackoverflow.com/q/18121386/2390083))。 – Beryllium