Recuperer un ROWTYPE [Résolu]

Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Dernière intervention
16 août 2006
- - Dernière réponse : OliV_25
Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Dernière intervention
16 août 2006
- 16 août 2006 à 14:52
bonjour tlm

voila j'ai une base oracle avec procedure/fonctions en PL/SQL, notamment une qui me retourne un %ROWTYPE

en java, j'appel cette procedure, mais je c pas comment récuperer cette variable ( en fait je dois donner dans mon prog java le type de ce ke retourne la fonction, et ROWTYPE je c pas comment on le définit )

si qqn peut m'aider ...

a+ tlm
oliv
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Dernière intervention
16 août 2006
3
Merci
bon alors j'ai trouver une solution a mon probleme, je c pas si c la meilleur mais normalement ca marche

en fait j'ai du modifier ma procédure PL/SQL pour qu'elle retourne un REF CURSOR et non un ROWTYPE, ca oblige a créer un RECORD et un REF CURSOR en pl/sql donc c plus long, mais j'ai pas trouvé mieux.

apres dans le java ya juste a dire ke le "registerOutParameter" est du type "OracleTypes.CURSOR"

voila
a+ les gens

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de OliV_25
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Dernière intervention
8 mars 2011
0
Merci
t as essayer de mettre tt simplement le type Object, tu fais un test et en debug tu regarde le vrai type qui t es renvoyé comme ca apres tu change Object en son vrai type et tout roule !!
++ Toinou
Commenter la réponse de super_toinou
Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Dernière intervention
16 août 2006
0
Merci
ce ce que je suis entrain de faire, mais le probleme c au moment de la définition du type de retour (je sais pas si je suis tres clair )

Mon code Java donne ca en gros :
<hr size="2" width="100%" />
CallableStatement cs2 = getCallableStatement(conn, "{?=call fonctionTest()}", true);

cs2.registerOutParameter(1, OracleTypes.OTHER);

cs2.execute();
ResultSet rs2 = (ResultSet)cs2.getObject(1);   

while (rs2.next())
    System.out.println(rs2.getObject(1));

<hr size="2" width="100%" />
Le probleme se situe au niveau du "registerOutParameter" qui me déclenche une exception du type :
java.sql.SQLException: Type de colonne non valide

et la je vois pu quoi faire
Commenter la réponse de OliV_25

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.