Powerbuilder pour les completement Geeks !

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.

#26 07-02-2007 10:48:35

aubierf  
Membre Geek
Lieu: Genève
Date d'inscription: 14-12-2006
Messages: 32
Pépites: 114
Banque: 0

Re: [RESOLU] Procédure stockée avec Oracle erreur SQLState = 42000

oui ! c'est de la folie ! bon, j'ai oublié un petit détail, la base liée à PB est informix mais ca ne devrait rien changer

Hors ligne

 

#27 07-02-2007 11:41:27

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Procédure stockée avec Oracle erreur SQLState = 42000

Bonjour,

Voici un exemple de gestion des procédures stockées sous Informix en PB8.

Code: pb

DECLARE lsp_proc_toto PROCEDURE FOR sp_proc_toto(:as_param1, :as_param2) USING sqlca;
EXECUTE lsp_proc_toto;
IF sqlca.sqlcode <> 0 THEN
      is_erreur =  "Erreur SQL  executable : " +   string(sqlca.SqlDBCode) + " " + sqlca.SqlErrText
   RETURN 1
ELSE
    FETCH lsp_proc_toto INTO  :li_erreur, :ls_erreur  ;
  IF SQLCA.sqlcode <> 0 THEN  
        ls_msg_erreur = "Erreur fetch  : " + string(SQLCA.sqldbcode) + " " + trim(SQLCA.sqlerrtext)
    CLOSE lsp_proc_toto;
    RETURN 1
  ELSE
    IF li_erreur <> 0 THEN
                  ls_msg_erreur = "Erreur li_erreur: " + string(li_erreur) + " " + trim(ls_erreur)
      CLOSE lsp_proc_toto;
      RETURN 1
    END IF
  END IF      
END IF
CLOSE lsp_proc_toto;

Dans les préconisations importantes (au moins avec Informix) :

Donc les paramètres doivent être passés avec les 2 points :
Le type des paramètres entre string, date, integer... doit être indentique dans PB et dans la procédure
Les valeurs retournées par la procédure doivent aussi être mis avec les 2 points :
Ne pas oublier de faire le close quand cela est necessaire (en suivant dans l'exemple)

Il me semble que dans les posts précédents, il manque des petits morceaux.......

Hors ligne

 

#28 07-02-2007 14:36:37

aubierf  
Membre Geek
Lieu: Genève
Date d'inscription: 14-12-2006
Messages: 32
Pépites: 114
Banque: 0

Re: [RESOLU] Procédure stockée avec Oracle erreur SQLState = 42000

effectivement j'ai testé cette méthode... sans succès... pas d'erreur à la compile mais à l'exécution

mais bonne nouvelle j'ai trouvé la solution du moins pour Oracle, ce qui tombe bien car sous Informix je ne dois pas faire cet appel.

Code: pb

DECLARE monCursor CURSOR FOR
  SELECT invest_sn FROM tb_investigation;
  
OPEN monCursor;
MessageBox("DEBUGBOX", String(sqlca.sqlcode) + ":" + sqlca.sqlerrtext + "/" + this.inv_comment)
CLOSE monCursor;

Etonnant non ?  Merci à vous tous de m'avoir aider et dans un temps record
j'espere pouvoir vous rendre la pareil

Hors ligne

 

#29 01-03-2007 10:38:19

inferni  
Membre Geek
Lieu: Orléans
Date d'inscription: 28-02-2007
Messages: 52
Pépites: 49
Banque: 2,337,704,263,781

Re: [RESOLU] Procédure stockée avec Oracle erreur SQLState = 42000

Il me semble qu'il n'était plus possible d'utiliser le caractère @ depuis PB8 (caractère réservé) ... mais suis pas certain à 100%

Hors ligne

 

#30 09-03-2007 15:17:11

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] Procédure stockée avec Oracle erreur SQLState = 42000

--------------------------------------------------------------------
Bonjour, peut-on considérer que le problème est Résolu ?
--------------------------------------------------------------------


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#31 12-03-2007 10:43:29

aubierf  
Membre Geek
Lieu: Genève
Date d'inscription: 14-12-2006
Messages: 32
Pépites: 114
Banque: 0

Re: [RESOLU] Procédure stockée avec Oracle erreur SQLState = 42000

je pense que oui ! et merci encore

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22