使用JTDS SqlServer驱动程序查询特定存储过程/模式

时间:2013-08-21 21:55:07

标签: java sql-server jtds

我正在编写一些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。我的问题是,如何调用此存储过程?

1 个答案:

答案 0 :(得分:0)

我将驱动程序从jtds更改为官方Microsoft版本。立即行动。