Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 27-06-2012 13:02:04

denisd  
Membre
Date d'inscription: 27-06-2012
Messages: 14
Pépites: 23
Banque: 0

Problème pour passer un clob de pb vers une procédure Oracle

Bonjour à tous,
voilà je rencontre un petit souci pour appeler une procédure Oracle:

Côté PB 11.5.1:

J'ai une zone de saisie multi-lignes qui va contenir une imposante chaine.
Je dois passer cette chaine à une procédure Oracle. L'entrée qui reçoit cette chaine est décrite en CLOB.

Code: pb

string st_flot
string st_xml, st_code_retour, st_message

st_flot = mle_edinat.text + "~n"
DECLARE transpo PROCEDURE FOR trans_pg.APPEL_PR(:st_flot, :st_modele) USING sqlca;
EXECUTE transpo ;
FETCH transpo  INTO :st_xml, :st_code_retour , :st_message;
CLOSE transpo ; 
...



Côté Oracle 10:
J'ai supprimé tout le code: il ne reste que la valorisation du code retour.

Code: mssql

PROCEDURE APPEL_PR(
        I_clob                    IN      CLOB,
        I_NOM                   IN      VARCHAR2,
        O_xml                   OUT     CLOB,
        O_code_retour       OUT     VARCHAR2,
        O_message           OUT     VARCHAR2)
IS
BEGIN
O_CODE_RETOUR := '0';
EXCEPTION
    WHEN OTHERS THEN RAISE;
END APPEL_bdoc_to_xpression_PR;


Je n'ai pas de message d'anomalie, les variables de sorties ne sont pas valorisées.
En cherchant, j'ai constaté que le problème survient lorsque la chaine d'entrée dépasse les 32767 caractères.

Voilà, si vous avez des pistes...
Merci par avance.

Dernière modification par denisd (27-06-2012 14:16:58)

Hors ligne

 

#2 27-06-2012 14:10:22

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: Problème pour passer un clob de pb vers une procédure Oracle

Bonjour et

Tout d'abord, pour des raisons de clarté de code: (A appliquer aussi pour le code sql en utilisant la balise code=mssql)

Ensuite, as-tu essayé avec RPCFUNC au lieu de DECLARE?

Sachant que l'aide PB précise que on ne peut pas dépasser des BLOB de plus de 32 512 bits en paramètres

Après, il faudra peut-être envisager de regarder du coté des SELECTBLOB et UPDATEBLOB


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22