Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

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 05-07-2007 09:33:14

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

[RESOLU] Explication erreur de retrieve

Bonjour,

J'ai du récemment changer de base de données et je me retrouve devant une erreur lorsque j'essaie de faire un retrieve sur une datawindow, dw_4.

dw_4 à été crée à partir d'une procédure stockée avec 3 paramètres en entrées : 2 chaines de caractères et un entier

Dans mon script je lance la commande :

Code: pb

// On recupère les données provenant de la table FR_TITRE_PB
this.dw_4.retrieve(titre, extension_titre, messagerie_titre)

Et le message d'erreur que j'obtiens après l'execution de cette commande est la suivante :

Erreur de sélection : ct_bind() : user api layer : external error : An illegal value of 5 given for parameter item

Que veut dire ce message d'erreur?

Merci pour vos reponses

// EDIT : message déplacé dans la rubrique adaptée

Dernière modification par Nephtis (05-07-2007 09:34:10)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#2 05-07-2007 09:40:54

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Explication erreur de retrieve

Nephtis a écrit:

Bonjour,

J'ai du récemment changer de base de données et je me retrouve devant une erreur lorsque j'essaie de faire un retrieve sur une datawindow, dw_4.

dw_4 à été crée à partir d'une procédure stockée avec 3 paramètres en entrées : 2 chaines de caractères et un entier

Dans mon script je lance la commande :

Code: pb

// On recupère les données provenant de la table FR_TITRE_PB
this.dw_4.retrieve(titre, extension_titre, messagerie_titre)

Et le message d'erreur que j'obtiens après l'execution de cette commande est la suivante :

Erreur de sélection : ct_bind() : user api layer : external error : An illegal value of 5 given for parameter item

Que veut dire ce message d'erreur?

Merci pour vos reponses

Les paramètres entre ta DW et ta proc sont différents.
Vérifies l'ordre et les types.
tu peux envoyer ton script de proc...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#3 05-07-2007 09:56:04

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Voici la proc (fichier qui à permis de la créer):

Code: sql

Create Procedure DEVOBI.UP_OBI_FR_PENSE_BETE_TITRE(  
    @titre char(4) = null,
    @extension_titre char(2) = null,
    @messagerie_titre int = null
    )   
As   
  Begin 
     /***********************************************************     
     *UP_OBI_FR_PENSE_BETE_TITRE
     *                         
     * Paramètres: titre
     *         extension_titre
     *         messagerie_titre
     *     
     *     
     * Retour:     
     *                        
     * Description: Donne le libelle du pense bete pour un titre     
     *     
     *                
     *                        
     * Erreurs:       
     *                        
     *------------------------------------------------------------*/  

    SELECT *
    FROM FR_TITRE_PB
    WHERE ID_TITRE = @titre
    AND ID_EXTENSION_TITRE = @extension_titre
    AND ID_SOCIETE_MESSAGERIE_TITRE = @messagerie_titre
  End



et en ce qui concerne les types pour les variables :

Code: pb

// Variables pour l'identification d'un titre
String titre
String extension_titre
Long messagerie_titre


Ce qu'il y a c'est que je n'ai pas changé le script après être passé sur la base de test (faire des test sur une base de prod c'était pas trop ça ) et que avant ce script marchait très bien


En plus voici le contenu de la requete telle qu'elle est dans la base de donnée

Code: sql

Create Procedure DEVOBI.UP_OBI_FR_PENSE_BETE_TITRE(   
    @titre char(4) = null, 
    @extension_titre char(2) = null, 
    @messagerie_titre int = null 
    )    
As    
  Begin  
  /**********************************************************      
  *Procedure  Name: UP_OBI_FR_PENSE_BETE_TITRE      
  *Database: OBI      
  *Server: SDE001      
  *File Path:      
  * \\Sde0001\Pub\Invendus\Facturation Retour\facturation_retour      
  *  \Procedures stockÚes\UP_OBI_FR_PENSE_BETE_TITRE.sql      
  *********************************************************/      
     /***********************************************************      
     *UP_OBI_FR_PENSE_BETE_TITRE 
     *                          
     * Paramètres: titre 
   *         extension_titre 
   *         messagerie_titre 
     *      
     *      
     * Retour:      
     *                         
     * Description: Donne le libelle du pense bete pour un titre      
     *      
     *                 
     *                         
     * Erreurs:        
     *                         
     *------------------------------------------------------------*/   
 
    /* --Adaptive Server has expanded all '*' elements in the following statement */ SELECT FR_TITRE_PB.ID_TITRE, FR_TITRE_PB.ID_EXTENSION_TITRE, FR_TITRE_PB.ID_SOCIETE_MESSAGERIE_TITRE, FR_TITRE_PB.ID_PB, FR_TITRE_PB.commentaire_titre 
    FROM FR_TITRE_PB 
    WHERE ID_TITRE = @titre 
    AND ID_EXTENSION_TITRE = @extension_titre 
    AND ID_SOCIETE_MESSAGERIE_TITRE = @messagerie_titre 
  End



PS : Il y a eu juste une modification au niveau de la base de donnée pour la table FR_TITRE_PB (ajout de la colonne commentaire_titre)

Dernière modification par Nephtis (05-07-2007 09:58:14)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#4 05-07-2007 10:02:17

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Explication erreur de retrieve

Tu as les valeurs de tes 3  arguments passés au retrieve


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#5 05-07-2007 10:03:21

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Oui en debug j'ai vérifié et mes trois variables sont bien alimentées


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#6 05-07-2007 10:04:24

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Explication erreur de retrieve

Nephtis a écrit:

Oui en debug j'ai vérifié et mes trois variables sont bien alimentées

Avec quelles valeurs ?


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#7 05-07-2007 10:08:58

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

J'allais le poster
http://d91d.free.fr/PowerBuilder/pb_retrieve.JPG

La procédure stockée marche très bien car je l'ai executée avec ces trois valeurs et elle m'a donnée le bon résultat

Dernière modification par Nephtis (05-07-2007 10:13:02)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#8 05-07-2007 10:17:03

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Explication erreur de retrieve

Vas chercher du côté des propriétés StaticBind et DisableBind de ta transaction


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#9 05-07-2007 10:32:42

Anpi  
Membre Geek
Date d'inscription: 22-04-2007
Messages: 59
Pépites: 3,000
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Bonjour Nephtis,

je te propose les pistes suivantes :

1 - Problème de regénération
Ouvre la dw, resélectionne la proc, vérifie les arguments, ferme la dw et regénère la dw

2 - Problème de bind
Les colonnes spécifiées dans ta dw sont trop petites ( ex : char(10) dans la dw et char(100) retourné par la proc )

Anpi

Hors ligne

 

#10 05-07-2007 10:38:23

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

Re: [RESOLU] Explication erreur de retrieve

Anpi a écrit:

Bonjour Nephtis,

je te propose les pistes suivantes :

1 - Problème de regénération
Ouvre la dw, resélectionne la proc, vérifie les arguments, ferme la dw et regénère la dw

2 - Problème de bind
Les colonnes spécifiées dans ta dw sont trop petites ( ex : char(10) dans la dw et char(100) retourné par la proc )

Anpi

en effet il me semblait avoir déjà vu passé ça ici 


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

Hors ligne

 

#11 05-07-2007 10:50:05

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Je vais peut etre dire des betises mais il semble que 5 est le nombre de colonne recupéré par la proc
Tu as essayé de refaire ta dw après avoir modifier la proc en lui specifiant les colonnes sans mettre l' '*'


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#12 05-07-2007 12:15:16

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Bon je commence à donner des nouvelles du debugage :

Anpi a écrit:

Bonjour Nephtis,

je te propose les pistes suivantes :

1 - Problème de regénération
Ouvre la dw, resélectionne la proc, vérifie les arguments, ferme la dw et regénère la dw

2 - Problème de bind
Les colonnes spécifiées dans ta dw sont trop petites ( ex : char(10) dans la dw et char(100) retourné par la proc )

Anpi

1 - Reselectionner la proc --> ok
     Verifier arguments --> ok
     Preview de la dw (avec les valeurs des arguments de l'exemple) --> ok
     Régénération --> ok

     Résultat --> ko (toujours le même message d'erreur)

2-  Vérification de la taille des colonnes --> ok
     Régénérate --> ok

     Résultat --> ko (toujours le même message d'erreur)



JCZ a écrit:

Je vais peut etre dire des betises mais il semble que 5 est le nombre de colonne recupéré par la proc
Tu as essayé de refaire ta dw après avoir modifier la proc en lui specifiant les colonnes sans mettre l' '*'

-   Recréer la procédure en remplaçant * par tous les champs --> ok
    Création d'un nouveau datawindow object en utilisant cette procédure --> ok
    Sur le controle de la fenêtre, association de ce nouveau datawindow object --> ok

    Résultat --> ko (toujours le même message d'erreur)


Chrnico a écrit:

Vas chercher du côté des propriétés StaticBind et DisableBind de ta transaction

Sur PB 6.5 où voit on les propriétés de la transaction?



J'ai essayé aussi de régénrer toutes les dll mais le résultat est le même

Dernière modification par Nephtis (05-07-2007 12:22:42)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#13 05-07-2007 12:31:40

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

Re: [RESOLU] Explication erreur de retrieve

juste pour voir ça donne quoi quand tu fais un export et un import de la DW (.srd) ?


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

Hors ligne

 

#14 05-07-2007 12:40:39

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

D'abord un nouveau test qui est assez bizarre

J'ai créé un datawindow object en choisissant "Quick Select" lors de la création. J'ai choisi ma table puis tous les champs de cette table.
L'enregistrement de cette datawindow ne pose aucun problème et le rattachement sur le controle datawindow de la fenêtre s'oppère sans message d'erreur.
Je teste et là je tombe sur le message d'erreur :

Erreur de selection : Invalid column name 'commentaire_titre'

J'ai comme l'impression que quand je suis sous pb je suis bien sur ma base de test mais que quand je teste l'application je tombe sur la base de prod (le nouveau champ n'a pas encore été ajouté sur la base de prod)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#15 05-07-2007 12:45:35

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

On oublie tout ce que j'ai dit

J'avais pas modifié le nom du serveur dans mon INI


En tout cas merci pour toutes vos reponses

Dernière modification par Nephtis (05-07-2007 12:46:05)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#16 05-07-2007 12:55:16

Anpi  
Membre Geek
Date d'inscription: 22-04-2007
Messages: 59
Pépites: 3,000
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Hé bien si on prend ça du bon côté, ça fait un soucis de moins !

Anpi

Hors ligne

 

#17 05-07-2007 12:58:59

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Explication erreur de retrieve

Nephtis a écrit:

On oublie tout ce que j'ai dit

J'avais pas modifié le nom du serveur dans mon INI


En tout cas merci pour toutes vos reponses

Ma réponse de 11h40 : Les paramètres entre ta DW et ta proc sont différents...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#18 05-07-2007 13:01:09

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Explication erreur de retrieve

Nephtis a écrit:

je confirme LOL


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

#19 05-07-2007 13:04:54

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

Re: [RESOLU] Explication erreur de retrieve

Nephtis a écrit:

J'avais pas modifié le nom du serveur dans mon INI
En tout cas merci pour toutes vos reponses

c'est le métier qui rentre


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

Hors ligne

 

#20 05-07-2007 13:45:13

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

Re: [RESOLU] Explication erreur de retrieve

Nephtis a écrit:

j'essaie de faire un retrieve sur une datawindow, dw_4.

pour conclure un petit conseil pour la route : donne un nom explicite à tes DW plutot que dw_1, dw_2 ...


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

Hors ligne

 

#21 05-07-2007 13:46:15

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Explication erreur de retrieve

eRaSorZ a écrit:

Nephtis a écrit:

j'essaie de faire un retrieve sur une datawindow, dw_4.

pour conclure un petit conseil pour la route : donne un nom explicite à tes DW plutot que dw_1, dw_2 ...

oui un truc comme dw_un, dw_deux ...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22