Annonces GOOGLE

Présentation du BLOG

Ce BLOG est dédié à la programmation en JAVA J2EE

mardi 25 novembre 2008

JAVA PL SQL REF CURSOR

Objectif : Dans une méthode JAVA, appeler une procédure stockée qui retourne un REF CURSOR.

Procédure stockée :
La procédure stockée SELECT PROJET retourne un curseur :
PROCEDURE SELECT_PROJETS
    (LISTE_PROJETS OUT CURSEUR_PROJETS);


La classe java qui lit les données à partir du curseur :


import java.sql.*;

public class TEST2 {
    public TEST2() {
    }
    public static void main(String[] args) {
            try
            {
             
                ConnectionDB cnxDB = new ConnectionDB();
                cnxDB.connect();
                    
                DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
                
                
               CallableStatement SelectProjects = cnxDB.conn.prepareCall("{call PKG_SERVICE.EMPLOYES_SERVICE(?,?)}");         
                
                SelectProjects.setString(1,"INFO");
                
                SelectProjects.setFetchSize(100);
                SelectProjects.registerOutParameter(2,oracle.jdbc.driver.OracleTypes.CURSOR);
                SelectProjects.executeQuery();
                ResultSet rs = (ResultSet)SelectProjects.getObject(2);
//                SelectProjects = cnxDB.conn.prepareCall("{ call PKG_SERVICE.EMPLOYES_SERVICE(?) }");
               // SelectProjects.setString("P_CODE_SERVICE",args[0]);
               // SelectProjects.execute();
               while (rs.next())
               {
               
                System.out.print(rs.getString("NOM"));
                System.out.println(rs.getString("MAIL"));
               }
               rs.close();
             SelectProjects.close();
              //return ListProjets;
            }
            catch(SQLException sqle){
            System.out.println(sqle.toString());
          }
          finally{
                //return ListProjets;
          }
    }

}

Aucun commentaire: