Bonjour,
tout est dans le titre.
Je ne sais pas comment faire, merci
Bonjour,
tout est dans le titre.
Je ne sais pas comment faire, merci
Bonjour,
As-tu essayé avec un setObject ?
K
oui j'ai essayé mais cela ne marche pas :
exception sur la ligne st.setObject :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CallableStatement st = null; st = conn.prepareCall("{call pak_coraly.pu_pme_validite(?, ?)}"); st.setObject(1, new int[] {1,2,3});
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 java.sql.SQLException: Type de colonne non valide:
:
![]()
peut-on connaître comment est déclarée ta procédure?
Bien le bonjour chez vous
Jowo
Il y a un type crée (Tab_id_pme) :
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
21
22
23
24
25
26
27
28
29 PROCEDURE PU_PME_VALIDITE(in_liste_id_pme IN Tab_id_pme, in_nbr_pme IN NUMBER) IS BEGIN operation := 'PU_PME_VALIDITE'; UPDATE PME_VALIDITE SET VALIDITE = 1; FOR i_indice IN 1..in_nbr_pme LOOP UPDATE PME_VALIDITE SET VALIDITE = 0 WHERE PME_ID = in_liste_id_pme(i_indice); END LOOP; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; numero_erreur := SQLCODE; message_erreur := SUBSTR(SQLERRM, 1, 100); trace_erreur(numero_erreur, message_erreur, interface, operation); raise_application_error(-20200, 'Erreur PAK : consultez les avertissements'); END PU_PME_VALIDITE;
EN java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TYPE Tab_id_pme IS TABLE OF PME_VALIDITE.PME_ID%TYPE INDEX BY BINARY_INTEGER;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CallableStatement callStmt = null; callStmt = conn.prepareCall("{call pak_coraly.pu_pme_validite(?, ?)}"); callStmt.setObject(1, new int[] {1,2,3}); callStmt.setInt(2, compTablePMEIgnores.getTable().getValues().size()); callStmt.executeUpdate(); log.debug("jButtonValider_actionPerformed() - update PME VALIDITE - call pu_pme_validite(int[], int)");
Salut,
Si vous trouvez je veux bien connaitre la solution. Le setArray qui devrait normalement permettre de passé un type tableau de fonctionne pas.
Le setObject non plus, car il attend un tableau.
J'ai trouvé un exemple sur la toile A Demonstration of the oracle.sql.ARRAY Class
Bien le bonjour chez vous
Jowo
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager