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
Je souhaiterais exécuté celle-ci dans un script java à l'aide du connecteur jdbc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 exec myStoredProcedure @parm1='D', @myDate='2002-06-21'
Voici mon code
Lorsque j'exécute ma méthode j'obtiens le message d'erreur suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
Je devrais pourtant recevoir en résultat un resulSet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Sauriez-vous quelle est mon erreur ?
Par avance merci.
Partager