4 Replies Latest reply on Mar 8, 2007 12:01 PM by Adil berdai

    ClassCastException during getCursor with Oracle...

    David Orriss Jr Newbie

      Subject says it all... What am I doing wrong here? Apparently the WrappedCallableStatement implementation that JBoss uses is doing something to prevent the casting, but what do I do to get around that?

      connection = getConnection("OracleDS");
      
       logger.finer("Calling request_list.get_default_request_list");
      
       cst = connection.prepareCall("{call request_list.get_default_request_list (?,?,?)}");
       cst.setInt(1, 1);
       cst.setInt(2, 1);
       cst.registerOutParameter(3, OracleTypes.CURSOR);
       cst.execute();
      
       rs = ((OracleCallableStatement)cst).getCursor(3);


      And getConnection is implemented as:
      private java.sql.Connection getConnection (String resourceName)
       throws NamingException, SQLException {
      
       logger.finer("Obtaining JNDI context.");
       //Obtain the JDNI context
       Context context = new InitialContext();
      
       logger.finer("JNDI Lookup to get the resource manager connection factory reference");
       //JNDI Lookup to get the resource manager connection factory reference
       javax.sql.DataSource ds = (javax.sql.DataSource) context.lookup("java:/jdbc/" + resourceName);
      
       logger.finer("Invoke factory to obtain a connection and return connection to calling environment");
       //Invoke factory to obtain a connection and return connection to calling
       //environment
       return ds.getConnection();
       }