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 31-03-2011 18:43:49

ORIOR  
Membre
Date d'inscription: 07-05-2010
Messages: 10
Pépites: 51
Banque: 0

Lecture d'un fichier avec FileReadEx

Bonjour à tous,

Voici mon problème.

Je viens de développer un écran qui doit produire des fichiers XML.
Et si cette création s'est bien déroulé, insérer le contenu de ce fichier XML dans la base de données.

J'ai dans ma table en base de donnée un champs de type BLOB pour recevoir le contenu de ce fichier, car certains fichiers sont assez volumineux.

L'écriture du fichier XML se déroule sans encombre et j'écris le fichier en LineMode!
Je le ferme evidemment une fois terminé. Jusque la... Aucun soucis!

Ensuite, viens le stockage du fichier dans la DB, étant donné que mes collones en DB sont de type BLOB, voici le code que j'utilise (trouvé dans l'help de PB...)

Code: pb

Integer XmlFileBlob
Blob XmlDataBlob

XmlFileBlob = FileOpen(XmlFilePath + FileName + '.xml', StreamMode!)
//XmlFilePath + FileName + '.xml' étant evidemment le nom de mon fichier, il est correct, j'ai déja vérifier...

If(XmlFileBlob = -1) Then
 RETURN -1
  // = ERREUR
End IF

FileReadEx(XmlFileBlob, XmlDataBlob)
FileClose(XmlFileBlob)

// .......
// Et la mise à jour (elle no pose pas de problème, j'ai réussi à la tester sur un cas correct...

UpdateBlob OR_DOCAFF
Set XML_DONNEES = :XmlDataBlob
Where NO_AFFILIE = :IdClef And NO_SEQ_DOCUMENT = :NoSeqDocAff
Using SQLCA;

If(SQLCA.SQLNRows > 0) Then
   COMMIT Using SQLCA;
Else
   ROLLBACK;
   // Oui car un Insert a également eu lieu juste avant...
   RETURN -1
End IF


Bon, et l'erreur vient en fait de la ligne :

Code: pb

FileReadEx(XmlFileBlob, XmlDataBlob)

Sa valeur de retour = -100, j'ai pu lire dans l'help que la cause vient d'un EOF rencontré en début de fichier... Mais je ne vois pas pourquoi il rencontrerai un EOF en début de fichier... D'ailleurs je n'en vois pas avec NotePad ++

Qqn aurait-il une idée à me proposer?

Merci d'avance.

Bàv

Hors ligne

 

#2 31-03-2011 22:01:46

ORIOR  
Membre
Date d'inscription: 07-05-2010
Messages: 10
Pépites: 51
Banque: 0

Re: Lecture d'un fichier avec FileReadEx

Pour info, j'ai trouver la solution.

C'était une erreur de ma part, dans l'exemple que je vous ai donné, j'utilisais un seul updateblob. Mais je vous ai recopier qu'une seule partie du code, et en fait, j'essayais de faire 2 update de blob dans un seul updateblob...

Ce qui ne fonctionne pas... C'est bon à savoir.

Par contre, encore une petite question, j'ai essayer également d'utiliser les champs de type CLOB.
Et lorsque j'utilise ce type de champs, dans ma DB, j'ai tous des "?" inversés... Impossible de stocker quoi que ce soit...

Encore merci d'avance...

Bàv...

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22