Bonjour,
En PL/SQL, j'ai déclaré l'appel à une fonction C ainsi :
Je l'appelle depuis une autre procédure PL/SQL qui stocke le contenu de "result" dans une variable de type VARCHAR2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PROCEDURE DISC(param STRING, result OUT STRING, err_code OUT BINARY_INTEGER) AS LANGUAGE C NAME "disc" LIBRARY C_da PARAMETERS ( param STRING, result STRING, err_code INT);
Mon problème c'est que j'ai un scénario où "result" à la sortie de la fonction C contient environ 90000 caractères.
Du coup, la variable VARCHAR2 de ma procédure PL/SQL étant limitée à 32767 caractères, une exception est déclenchée.
La solution est donc d'utiliser le type CLOB. Exact ?
Si oui :
- que devient la déclaration de ma fonction C en PL/SQL ?
- comment écrire dans ma variable CLOB dans le code en C ?
- comment lire correctement le résultat depuis mon code PL/SQL ?
Merci d'avance.
Partager