我正在编写一些Java代码来查询SQLServer数据库中的存储过程。我的连接字符串如下所示:
jdbc:jtds:sqlserver://address:port;database=dbname
现在,当我尝试使用连接调用存储过程时:
String sql = "{call xyz.StoreProcNamedFoo(?,?,?,?)}";
我收到此错误:
java.sql.SQLException: Could not find stored procedure 'xyz.StoreProcNamedFoo'.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2886)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2328)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:638)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:614)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:573)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:764)
DBA建议他将默认架构更改为xyz,而不是abc。这很好,但他必须立即改变它,因为默认架构必须是abc。我的问题是,如何调用此存储过程?
答案 0 :(得分:0)
我将驱动程序从jtds更改为官方Microsoft版本。立即行动。