2011-11-01 3 views
0

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 !

+1

OK. Désolé, c'est de ma faute. Je ne fermais pas le BufferedWriter ... Ce code fonctionne très bien. – BRabbit27

Répondre

1

OK. Désolé, c'est de ma faute. Je ne fermais pas le BufferedWriter ... Ce code fonctionne très bien.

Questions connexes