Code:
String command = "{call BestEmployees.dbo.smene_Exception(?,?,?,?,?)}";
CallableStatement cstmt = conn.prepareCall (command);
cstmt.setLong(1, getIdana());
cstmt.setString(2, getOdelenje());
cstmt.setString(3, getRadnik());
cstmt.setDate(4, Date.valueOf("2007-12-12"));
cstmt.setDate(5, Date.valueOf("2007-12-29"));
cstmt.execute();
cstmt.close();
String command = "{call BestEmployees.dbo.smene_Exception(?,?,?,?,?)}";
CallableStatement cstmt = conn.prepareCall (command);
cstmt.setLong(1, getIdana());
cstmt.setString(2, getOdelenje());
cstmt.setString(3, getRadnik());
cstmt.setDate(4, Date.valueOf("2007-12-12"));
cstmt.setDate(5, Date.valueOf("2007-12-29"));
cstmt.execute();
cstmt.close();
Stvar je u sledećem. Kad ja pozovem stored proceduru u Query Analyzeru, stored procedura sve sto treba da odradi ona i odradi.
I ne postoje nikakve greške.
Sama procedura ima deklarisan Cursor koji prolazi kroz tabelu, i odrađuju se neke stvari.
Da bih utvrdio u čemu je problem, ubacio sam neke insert-e da vidim šta se dešava što se tiče nekih od vrednosti u samoj proceduri.
Datumi koji su joj prosleđeni su u dobrom formatu.
Utvrdio sam da kad dođe do cursora, @FETCH_STATUS dobije vrednost -1. Zašto to ?
ni prvi fetch ne bude dobar. a ponavljam kad se pozove iz Query Analyzera cela procedura prodje kako treba.
Ono što javi java je sledeće :
Code:
java.sql.SQLException: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:633)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:478)
java.sql.SQLException: The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:633)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:525)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:487)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.execute(JtdsPreparedStatement.java:478)
... sve se moze kad se hoce ...