IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

[procedure stockée] paramètre de type Curseur


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut [procedure stockée] paramètre de type Curseur
    Bonjour,
    Je voudrais appelée une procédure stockée (sur une base Oracle) qui a un paramètre de sortie de type curseur.

    Voici la signature de la procédure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    PROCEDURE GestionNbPage(Requete VARCHAR2, NumPage NUMBER, Nbligne NUMBER, FluxResultat OUT CurTyp, Suivant OUT NUMBER, Erreur OUT VARCHAR2) IS
    		  RequeteNbPage		VARCHAR2(32657);
    		  RequeteNbSuivant	VARCHAR2(32657);
     
    	 BEGIN
    		   Erreur := '';
    		   Ecriretrace ('GestionNbPage','','','Requete : ' || Requete,0,0);
    		   RequeteNbPage := '......';
     
    		  OPEN FluxResultat FOR RequeteNbPage;
     
    		  RequeteNbSuivant := '....';
    		  EXECUTE IMMEDIATE RequeteNbSuivant INTO Suivant;
     
    	 EXCEPTION
    	 	  WHEN OTHERS THEN
    		        Erreur := SQLERRM;
     
    	 END GestionNbPage;
    Mon problème se pose sur l'appel de cette procédure, voici une partie de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CallableStatement call = connexion.prepareCall("{call GestionNbPage(?,?,?,?,?,?)}");
    	call.setString(1,sql);
    	call.setInt(2, numPage);
            call.setInt(3, nbLigne);
    	//call.registerOutParameter(4, ???);
    	call.registerOutParameter(5, Types.INTEGER);
    	call.registerOutParameter(6, Types.VARCHAR);
    	call.execute();
    	//récupération de mon 4è paramètre ??
    	suivant = call.getInt(5);
    	erreur = call.getString(6);

  2. #2
    Membre confirmé
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Par défaut
    Solution finale, qui semble fonctionner, pour ceux que ça intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ResultSet rstproc = null;     
    CallableStatement call = connexion.prepareCall("{call GestionNbPage(?,?,?,?,?,?)}");
    	call.setString(1,sql);
    	call.setInt(2,numPage);
    	call.setInt(3,nbLigne);
    	call.registerOutParameter(4, OracleTypes.CURSOR);
    	call.registerOutParameter(5, Types.INTEGER);
    	call.registerOutParameter(6, Types.VARCHAR);
    	call.executeQuery();
    	rstproc = (ResultSet)call.getObject(4);
    	suivant = call.getInt(5);
    	erreur = call.getString(6);

  3. #3
    Invité de passage
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Par défaut
    Génial Je vien de trouver la réponce à mon problème! Merci

    Je tien seulement à préciser que OracleTypes.CURSOR
    Vien du package :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oracle.jdbc.driver.OracleTypes.CURSOR
    BAV

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/07/2012, 09h06
  2. comment Executer une procedure stocké paramétré
    Par Khalid.bounouader dans le forum Accès aux données
    Réponses: 1
    Dernier message: 30/10/2006, 17h36
  3. Réponses: 3
    Dernier message: 26/01/2006, 10h55
  4. [VB.NET] Procedure stockée paramétrée
    Par HULK dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/01/2005, 14h03
  5. Procedure stockée qui retourne un curseur
    Par kinaï dans le forum Débuter
    Réponses: 1
    Dernier message: 10/08/2004, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo