Bonjour à tous,
J'essaye de récupérer le résultat d'une procédure et l'afficher sur une page web. La procédure en question est beaucoup plus complexe. Donc, j'ai essayé de simplifier le code. L'essentiel est que je veut en sortie une collection de procédure et récupérer le résultat à partir d'une méthode java existante de type collection d'objet. Le message d'erreur est décrit plus bas.
spec
Body
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 TYPE T_REC_EMP IS RECORD ( DOMAINE_OPUS_ID DOMAINE_OPUS.DOMAINE_OPUS_ID%type, TTR_CODE DOMAINE_OPUS.TTR_CODE%type, VALEUR_DIMENSION_ID DOMAINE_OPUS.VALEUR_DIMENSION_ID%type, DOM_CODE DOMAINE_OPUS.DOM_CODE%type, DOM_LIBELLE DOMAINE_OPUS.DOM_LIBELLE%type, DOM_FICHIER DOMAINE_OPUS.DOM_FICHIER%type, DOM_COMMENTAIRE DOMAINE_OPUS.DOM_COMMENTAIRE%type, DOM_SI_PRIVE DOMAINE_OPUS.DOM_SI_PRIVE%type, DOM_OLD_LIBELLE DOMAINE_OPUS.DOM_OLD_LIBELLE%type, DOM_LIBELLE_BO DOMAINE_OPUS.DOM_LIBELLE_BO%type, DOM_ID_BO DOMAINE_OPUS.DOM_ID_BO%type, DIMENSION_ID valeur_dimension.dimension_id%TYPE ); Type TYP_TAB_DOMAINE is table of T_REC_EMP;
message d'erreur
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 Procedure P_GET_DOMAINE( out_DOMAINE out TYP_TAB_DOMAINE )is l_SELECT_DOMAINE VARCHAR2(1000); Begin l_SELECT_DOMAINE:='Select dom.*, vad.DIMENSION_ID From DOMAINE_OPUS dom join VALEUR_DIMENSION vad on vad.VALEUR_DIMENSION_ID = dom.VALEUR_DIMENSION_ID Where DOM_SI_PRIVE = 0 Order By DOM_LIBELLE asc'; dbms_output.put_line('Test PROCEDURE'); EXECUTE immediate l_SELECT_DOMAINE BULK COLLECT INTO out_DOMAINE; End; End PKG_DONNEE; --Fin du package donnee
le type de sortie est une collection d'enregistrement (TYPE T_REC_EMP IS RECORD )java.sql.SQLException:
ORA-06550: Ligne 1, colonne 7 :
PLS-00306: numéro ou types d'arguments erronés dans appel à 'P_GET_DOMAINE'
ORA-06550: Ligne 1, colonne 7 :
PL/SQL: Statement ignored
le type côté java est une collection (DT_COLLECTION) d'objets (comme un hashmap)
l'erreur se produit au niveau de l’exécution de la requête (execute immediate).
Merci de votre aide.
Partager