Bonjour,

J'ai une fonction qui me retourne piplined, pour recupérer les valeurs retourner en JAVA je dois faire un cast as la valeur de retour définis,en fait cette valeur est définit dans le package qui contient la fonction est n'est pas définit comme un type oracle.

Code Java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
ArrayDescriptor desc2 = ArrayDescriptor.createDescriptor(
                "PKG_NSCF_DEC_PIP.TAB_NSCF_TP_ASS", conn.getConnexion());
requete="SELECT * FROM TABLE(cast(PKG_NSCF_DEC_PIP.F_NSCF_ASS_TP(?,'AF',null,null,null,null)) as PKG_NSCF_DEC_PIP.TAB_NSCF_TP_ASS)";
ps=conn.getConnexion().prepareStatement(requete);
ps.setString(1, imma);

le type est définit dans la spécification:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE OR REPLACE PACKAGE CNSS.PKG_NSCF_DEC_PIP IS
TYPE REC_NSCF_TP_ASS  IS RECORD( P_T_C_NUMERO     NUMBER(15)   DEFAULT    0, P_T_EMIS_BNQ     NUMBER       DEFAULT 0   ,
                                 P_T_C_PREST      VARCHAR2(2)  DEFAULT NULL, P_T_D_EMISS      VARCHAR2(8)  DEFAULT NULL,
                                 P_T_M_MVT        NUMBER(14,2) DEFAULT    0, P_T_C_MPAI       VARCHAR2(1)  DEFAULT NULL,
                                 P_T_C_ETAT       VARCHAR2(2)  DEFAULT NULL, P_T_L_ETAT       VARCHAR2(40) DEFAULT NULL);
 
TYPE TAB_NSCF_TP_ASS  IS TABLE OF REC_NSCF_TP_ASS ;
quand j'exécute le programme java j'ai comme erreur:
[*] - [Erreur] - Erreur de la requete![*] - [Message] - Le modèle de nom n'est pas valide: PKG_NSCF_DEC_PIP.TAB_NSCF_TP_ASS