[ jocat @ 13.12.2007. 18:32 ] @
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(); 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) |