2013-08-21 54 views
0

我在寫一些Java代碼來查詢SQLServer數據庫中的存儲過程。我的連接字符串的樣子:使用JTDS 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

有趣的是,我試圖谷歌搜索,這篇文章是第一個鏈接出現。 –

回答

0

我將驅動程序從jtds更改爲官方Microsoft版本。現在工作。