0

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

4

1 回答 1

0

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

这与您看到的错误无关。

于 2013-08-23T07:29:54.427 回答