“Curseur est fermé” erreur lorsque vous tentez d'exécuter un Oracle SP à l'aide de JDBC

L'Oracle version de notre base de données 10g.

La procédure stockée permet de sélectionner tous les éléments dans un tableau et renvoie une référence de type de CURSEUR comme suit:
créer ou remplacer

PROCEDURE S_S_TEST( 
  test_OUT OUT OAS_TYPES.REFCURSOR
) 
AS
BEGIN
  OPEN test_OUT FOR      
      SELECT *
      FROM table_p;
   CLOSE test_OUT;
END S_S_TEST;

Lorsque cette procédure stockée est exécutée en JAVA, l'exception suivante est obtenue:

java.sql.SQLException: Cursor is closed. at oracle.jdbc.driver.T4CResultSetAccessor.getCursor(T4CResultSetAccessor.java:323) at oracle.jdbc.driver.ResultSetAccessor.getObject(ResultSetAccessor.java:85) at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:1401) at com.ibm.ws.rsadapter.jdbc.WSJdbcCallableStatement.getObject(WSJdbcCallableStatement.java:443)

J'essaie de comprendre quelle est l'erreur et comment il pourrait être résolu. Quelqu'un pourrait-il svp m'aider?

Merci!

InformationsquelleAutor | 2009-08-06