2013-08-21 3 views
0

SQLServer 데이터베이스의 저장 프로 시저를 쿼리하는 Java 코드를 작성하고 있습니다.JTDS SqlServer 드라이버를 사용하여 특정 저장 프로 시저/스키마 쿼리

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가 그가에게 변화를 제안 :

String sql = "{call xyz.StoreProcNamedFoo(?,?,?,?)}"; 

나는이 오류가 : 지금은 연결과 저장 프로 시저를 호출 할 때

jdbc:jtds:sqlserver://address:port;database=dbname 

:처럼 내 연결 문자열을 찾습니다 abc 대신 xyz의 기본 스키마. 그 일은 훌륭했지만, 기본 스키마가 abc이어서이 코드를 즉시 다시 변경해야했습니다. 내 질문은, 어떻게이 저장된 proc 호출합니까?

+0

어떻게하면됩니까? –

+0

재밌 네요. Google에서 그걸 검색해 봤는데이 게시물이 처음 나온 것입니다. –

답변

0

드라이버를 jtds에서 공식 Microsoft 릴리스로 변경했습니다. 이제 작동합니다.