Procédure stockée et resultSet
Bonjour,
Je dispose d'une procédure stockée sous msSQl qui nécessite 2 paramètres afin d'être exécutée. Cette procédure stockée me retourne des plusieurs de résultats avec plusieurs colonnes
Code:
1 2
|
exec myStoredProcedure @parm1='D', @myDate='2002-06-21' |
Je souhaiterais exécuté celle-ci dans un script java à l'aide du connecteur jdbc.
Voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
public void executeSprocInParams() {
try {
CallableStatement pstmt = conn.prepareCall("{call dbo.unvRepConstituentsAddition(?,?)}");
java.util.Calendar cal = Calendar.getInstance();
java.util.Date utilDate = new java.util.Date(); // your util date
cal.setTime(utilDate);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
cal.set(Calendar.DAY_OF_MONTH, 21);
cal.set(Calendar.MONTH, 06);
cal.set(Calendar.YEAR, 2002);
java.sql.Date sqlDate = new java.sql.Date(cal.getTime().getTime());
pstmt.setString("eco", "D");
pstmt.setDate("reviewDate", sqlDate);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println("company:");
System.out.println(rs.getString("company"));
System.out.println();
}
rs.close();
pstmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
} |
Lorsque j'exécute ma méthode j'obtiens le message d'erreur suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:408)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
at universeReview.ConnectMSSQLServer.executeSprocInParams(ConnectMSSQLServer.java:156)
at universeReview.ConnectMSSQLServer.main(ConnectMSSQLServer.java:182) |
Je devrais pourtant recevoir en résultat un resulSet.
Sauriez-vous quelle est mon erreur ?
Par avance merci.