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






Bonjour
On utilise dans la base de données des Blob Oracle
pour enregistrer dans un champ une chaine de caractère==> PB m'affiche un message d'erreur "Invalid hex number" et n'accepte que des chaines en hexadecimale.
je travaille sur PB10.5 et oracle 10g.
Une idée ?
Dernière modification par mattdamon (25-02-2009 18:09:23)
Hors ligne










Tu utilises un blob pour sauvegarder une chaine de caractere ?
Hors ligne






Hors ligne










Hors ligne














pourquoi ne pas utiliser un type de chaine ? du genre LONG(taille)
Hors ligne






Dans le code Powerbuilder, j'ai essayé avec ça et ça fonctionne bien :
BLOB blob1 blob1 = blob('ma chaine de caractere...', EncodingANSI!) update MATABLE m set m.C1 :=blob1
Hors ligne






Bonjour,
Tu étais en train de répondre en même temps.
Effectivement, la seule façon de mettre à jour un blob dans la base de données, c'est l'utilisation d'embedded SQL :
UPDATEBLOB TableName SET BlobColumn = BlobVariable RestOfUpdateStatement {USING TransactionObject} ;
Donc pour une chaine :
blob lbl_content string ls_chaine lbl_content = blob(ls_chaine, EncodingANSI!) UPDATEBLOB TableName SET BlobColumn = lbl_content USING SQLCA;
Il faut éventuellement ajuster l'encodage du blob.
Hors ligne






Merci à tous pour vos réponses.
Pour erasorz, oui c'est vrai au début j'ai utilisé de type Long et ça marche bien, mais maintenant et sans raison je voulais le fonctionné avec blob...
Hors ligne