我们正在将一个使用了 10 年的 JRun 应用程序迁移到 JBoss,并且正在为我们所有使用 SQL 本地临时表的存储过程调用遇到奇怪的 JDBC 错误。所有存储过程在带有 micromedia jdbc 驱动程序的 JRun Server 中都能正常工作。
这是我们的堆栈跟踪之一:
无效的对象名称“#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。
我的问题是为什么Connection.prepareCall()
返回 a org.jboss.jca.adapters.jdbc.WrappedPreparedStatement
?
它与从 JDBC 抛出的 SQL 异常有关吗?