Bonjour
J'ai défini dans APEX4 une fonction dans un PACKAGE que je souhaite appeler depuis IREPORT / JASPERREPORT afin de creer un graphique
Défini dans APEX par
SQL WORKSHOP puis PACKAGE PROCEDURE
Dans apex J'ai mis un grant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 create or replace package DP_LO_GRAPH IS FUNCTION F_GET_GRAPH_BY_VESSEL RETURN VARCHAR2; END DP_LO_GRAPH;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Privilege Grantee Grantable Grantor Object Name EXECUTE UU_VISU NO UU_PROD DP_LO_GRAPH
SQLDEVLOPER Fonctionne et permet l'appel de la procédure stockée
L'appel dans IREPORT l'appel est avec le meme utilisateur Oracle
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 DECLARE v_Return VARCHAR2(32200); BEGIN v_Return := DP_LO_GRAPH.F_GET_GRAPH_BY_VESSEL(); -- Legacy output: DBMS_OUTPUT.PUT_LINE('v_Return = ' || v_Return); :v_Return := v_Return; --rollback; END;
Le message dans IREPORT est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 {call DP_LO_GRAPH.F_GET_GRAPH_BY_VESSEL()}
Message:
net.sf.jasperreports.engine.JRException: java.sql.SQLException: ORA-06550: Ligne 1, colonne 7 :
PLS-00221: 'F_GET_GRAPH_BY_VESSEL' n'est pas une procédure ou est indéfini
ORA-06550: Ligne 1, colonne 7 :
PL/SQL: Statement ignored
[/CODE]'
J'ai aussi esssaye depuis IREPORT
select DP_LO_GRAPH.F_GET_GRAPH_BY_VESSEL() from dual
La fonction me renvoi un SELECT dynamique avec des colinnes qui change (l'equivalent du PIVOT) en Oracle10
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: tampon de chaîne de caractères trop petit ORA-06512: à "SCE_PROD.DP_LO_GRAPH", ligne 31
Cet appel fonctionne également dans APEX lorsque j’affiche un graphique en FLASH.
Ou est mon erreur ?
Merci
Partager