Hallo
Ich arbeite mit MS SQL Server 2005 und habe eine StoredFunction geschrieben. Da wir bei einem return noch ein Integer zurückgeliefert.
Also zB return 1
Wenn ich diese Methode jetzt in Java Aufrufe, dann bekomm ich eine Fehlermeldung:
Hier die Fehlermeldung
Was mache ich falsch?
Ich arbeite mit MS SQL Server 2005 und habe eine StoredFunction geschrieben. Da wir bei einem return noch ein Integer zurückgeliefert.
Also zB return 1
Wenn ich diese Methode jetzt in Java Aufrufe, dann bekomm ich eine Fehlermeldung:
Code:
CallableStatement cstmt = con.prepareCall("{call ? := spCheck(?, ?, ?, ?)}");
cstmt.registerOutParameter(1, java.sql.Types.INTEGER);
cstmt.setString(2, "E0001");
cstmt.setInt(3, 10);
cstmt.registerOutParameter(4, java.sql.Types.INTEGER);
cstmt.registerOutParameter(5, java.sql.Types.CHAR);
cstmt.execute();
Hier die Fehlermeldung
Code:
java.sql.SQLException: Invalid JDBC call escape at line position 6.
at net.sourceforge.jtds.jdbc.SQLParser.copyProcName(SQLParser.java:367)
at net.sourceforge.jtds.jdbc.SQLParser.callEscape(SQLParser.java:482)
at net.sourceforge.jtds.jdbc.SQLParser.escape(SQLParser.java:925)
at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:1063)
at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:156)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.<init>(JtdsPreparedStatement.java:104)
at net.sourceforge.jtds.jdbc.JtdsCallableStatement.<init>(JtdsCallableStatement.java:67)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareCall(ConnectionJDBC2.java:2306)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareCall(ConnectionJDBC2.java:2292)
at Test.main(Test.java:84)
Was mache ich falsch?