J'ai regardé à travers de nombreux messages dans le forum liés à mon problème, mais je n'ai rien fait pour moi, donc je poste mon problème. J'ai un SP dans Oracle (11g) qui est supposé renvoyer un ensemble de résultats. Le SP ressemble suit:Get ResultSet de procédure stockée dans Oracle à partir de Java
CREATE OR REPLACE
PROCEDURE testProc
(
tableName IN VARCHAR2,
INFORMATION OUT SYS_REFCURSOR
) AS
sqlQuery varchar2(1000);
BEGIN
sqlQuery := 'SELECT ID||''|''||Name||''|''||Surname FROM '||tableName;
OPEN INFORMATION FOR sqlQuery;
END GETVALIDATIONPECLOG;
Et la façon dont je l'appeler de Java est
...
CallableStatement cs = null
cs = connection.prepareCall("{call getvalidationpeclog(?,?)}");
cs.setString(1, table);
cs.registerOutParameter(2, OracleTypes.CURSOR);
System.out.println("AS: " + cs.execute()); //Returns false
rs = (ResultSet) cs.getObject(2);
while (rs.next()) {
bw.write(rs.getString(1));
bw.newLine();
}
...
mais devinez quoi? Ça ne marche pas du tout ... Qu'est-ce qui me manque? Merci !
OK. Désolé, c'est de ma faute. Je ne fermais pas le BufferedWriter ... Ce code fonctionne très bien. – BRabbit27