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 03-11-2010 08:35:47

sbouvetJD  
Chasseur d'y voir ?
Lieu: LYON
Date d'inscription: 29-03-2007
Messages: 185
Pépites: 147,483,921
Banque: 13,317,684,827,902,405
Site web

[RESOLU] Dysfonctionnement chargement BLOB

Bonjour,

Actuellement en PB9, nous éditons un rapport à partir de données stockées sous MS SQL Server 2000 dont un champ image BLOB. Au moment de la génération du rapport, le programme plante sans message d'erreur, apparemment au bout d'une cinquantaine d'images chargées. Y a-t-il une limitation ? Dans l'exemple concret, nous devrions obtenir une centaine d'images normalement. Nous procédons comme suit :

Code: pb

SELECTBLOB BLB_IMG
INTO :lblb_Pic
FROM dba.SAV_SERV_IMG (NOLOCK)
WHERE CC_STE = :ls_Ste AND CI_BON = :ll_Bon AND CI_ID_SERV = :ll_Id
USING SQLCA;
  
IF SQLCA.SQLNRows = 1 AND NOT IsNull(lblb_Pic) THEN
  p_pic.SetPicture(lblb_Pic) // OBJET DE TYPE picture 
  ll_W = UnitsToPixels(p_pic.Width, XUnitsToPixels!)
  ll_H = UnitsToPixels(p_pic.Height, YUnitsToPixels!)
    
  ll_Idx++
  isa_Fich[ll_Idx] = ls_Fich
// FONCTION QUI CONVERTIT LE BLOB EN BMP
  lst_Taille = gf_SavePicture_Print(lblb_Pic, ls_Fich, ll_W, ll_H, 6) 
  tab_1.tabpage_2.dw_2.SetItem(ll_Row, "lv_photo", ls_Fich) // CHAMP DE LA DW AVEC PROPRIETE DisplayAsPicture = True
  p_pic.PictureName = "Add Watch!"
  p_pic.PictureName = ""    
END IF

Dernière modification par sbouvetJD (04-11-2010 12:52:33)

Hors ligne

 

#2 03-11-2010 14:07:51

General Protection Fault  
Membre Geek
Lieu: Sophia Antipolis
Date d'inscription: 18-08-2008
Messages: 47
Pépites: 204
Banque: 0

Re: [RESOLU] Dysfonctionnement chargement BLOB

Salut,

Mince satisfaction : je ne suis pas le seul à me prendre le chou avec des BLOB :-D

Ton test : NOT IsNull( lbl_pic)  ne te garantit pas que le BLOB soit vide. Il pourrait être valide mais ne contenir aucun octet. Je te propose donc de rajouter un test : AND LEN(lbl_pic) <> 0

A+

Hors ligne

 

#3 03-11-2010 14:27:04

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: [RESOLU] Dysfonctionnement chargement BLOB

Salut,

    Quel  type de connexion (odbc, natiif ) utilise tu ?

Dernière modification par Yanis (03-11-2010 14:27:44)

Hors ligne

 

#4 04-11-2010 07:45:23

sbouvetJD  
Chasseur d'y voir ?
Lieu: LYON
Date d'inscription: 29-03-2007
Messages: 185
Pépites: 147,483,921
Banque: 13,317,684,827,902,405
Site web

Re: [RESOLU] Dysfonctionnement chargement BLOB

Yanis : On passe par le composant natif de connexion (la migration en PB12 nous obligera à pas mal de modifications à ce niveau.
GPF : Merci pour l'astuce du LEN, j'y rajoute et j'y re-teste.

Hors ligne

 

#5 04-11-2010 08:12:28

sbouvetJD  
Chasseur d'y voir ?
Lieu: LYON
Date d'inscription: 29-03-2007
Messages: 185
Pépites: 147,483,921
Banque: 13,317,684,827,902,405
Site web

Re: [RESOLU] Dysfonctionnement chargement BLOB

Bon, apparemment j'ai le même souci, au bout de 58 images remontées, arrêt de l'application sans message d'erreur. Se pourrait-il que le 59e BLOB soit "corrompu", et dans ce cas, comment le contrôler ?

Hors ligne

 

#6 04-11-2010 08:16:54

General Protection Fault  
Membre Geek
Lieu: Sophia Antipolis
Date d'inscription: 18-08-2008
Messages: 47
Pépites: 204
Banque: 0

Re: [RESOLU] Dysfonctionnement chargement BLOB

ça serait bien de savoir quelle ligne fait planter ton programme. Faudrait que tu le traces ou que tu mettes un point d'arrêt.

Hors ligne

 

#7 04-11-2010 08:59:36

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Dysfonctionnement chargement BLOB

Bonjour,

Tu peux essayer de contrôler que ton image est valide en vérifiant que la hauteur et largeur est positive.

Hors ligne

 

#8 04-11-2010 12:51:28

sbouvetJD  
Chasseur d'y voir ?
Lieu: LYON
Date d'inscription: 29-03-2007
Messages: 185
Pépites: 147,483,921
Banque: 13,317,684,827,902,405
Site web

Re: [RESOLU] Dysfonctionnement chargement BLOB

En testant le retour de la fonction [pictureObject].setPicture, j'ai pu isoler le BLOB qui me posait problème. (retour < 0 si problème). C'est donc tout OK.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22