Recuperer un ROWTYPE

Résolu
Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 août 2006
-
Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 août 2006
-
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

3 réponses

Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 août 2006

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
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
8
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
Messages postés
29
Date d'inscription
mercredi 23 juin 2004
Statut
Membre
Dernière intervention
16 août 2006

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