Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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.
  • Index
  •  » Migration
  •  » [RESOLU] SelectBlob - Document OLE non reconnu
  • 1 évaluations, moyenne 5

#1 28-01-2008 12:44:56

jacq_x  
Membre
Date d'inscription: 08-01-2008
Messages: 9
Pépites: 48
Banque: 0

[RESOLU] SelectBlob - Document OLE non reconnu

Bonjour,

Nous avons un processus de sauvegarde et de lecture de document word dans une base de donnée Sybase. Depuis la migration cela ne fonctionne plus. Le fichier ecrit ne comporte que des caractère inconnus.


On  appel une fonction qui est précédé du code SQL de lecture du blob depuis la base, dont voici un exemple :
          selectblob blb into :blb from ttestblobmpa where cle = :scle;
Ensuite on  Ecrit le blob dans un fichier temporaire sFicTemp puis insertion du fichier temporaire dans l'OLE

Function :

Code: pb

long i, iFile, l
blob blb
string sfictemp


// Nb de blocs de 36765 octets à traiter
l = (Len(blb) / 32765) + 1

iFile = FileOpen(sFicTemp, streammode!, write!, LockWrite!, Replace!)
if iFile < 1 Then
               gnv_msgbox.fnv_MessageBox("Error", "Can't open working file " + sFicTemp, "MAIL_SUPPORT_DMC")
  Return iFile
End if

// Ecriture dans fichier temporaire
For i = 1 to l
  FileWrite(iFile, BlobMid(blb, ((i - 1) * 32765) + 1, 32765))
Next

// Fermeture
FileClose(iFile)

// Insertion du fichier temporaire dans l'OLE
if uf_InsertFile(sFicTemp) <> 0 Then
  gnv_msgbox.fnv_MessageBox("Error", "Temporary Merge file not generated", "MAIL_SUPPORT_DMC")
  Return -1
End if

Return 0


Merci de votre aide

Xavier

Hors ligne

 

#2 28-01-2008 12:53:46

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

Re: [RESOLU] SelectBlob - Document OLE non reconnu

Bonjour, juste pour info, pourrais-tu préciser les versions de ta migration ?


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

Hors ligne

 

#3 28-01-2008 12:57:32

jacq_x  
Membre
Date d'inscription: 08-01-2008
Messages: 9
Pépites: 48
Banque: 0

Re: [RESOLU] SelectBlob - Document OLE non reconnu

Oui je viens de m'apercevoir que j'avais oublié ce point important .
Version 9.0.3 Build 8716 vers 10.5.2 Build 7564

Merci
Xavier

Hors ligne

 

#4 28-01-2008 13:11:39

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] SelectBlob - Document OLE non reconnu

il faut que tu rajoutes.... EncodingANSI!


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 28-01-2008 13:28:01

jacq_x  
Membre
Date d'inscription: 08-01-2008
Messages: 9
Pépites: 48
Banque: 0

Re: [RESOLU] SelectBlob - Document OLE non reconnu

Merci
A quel endroit  je precise l'encodage

Hors ligne

 

#6 28-01-2008 13:33:12

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] SelectBlob - Document OLE non reconnu

Code: pb

selectblob blb into :blb from ttestblobmpa where cle = :scle;
blb = blob(blb,EncodingANSI!)


un truc de ce genre la...  regardes l'aide en ligne...

A+


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#7 28-01-2008 13:55:15

jacq_x  
Membre
Date d'inscription: 08-01-2008
Messages: 9
Pépites: 48
Banque: 0

Re: [RESOLU] SelectBlob - Document OLE non reconnu

J'ai essayé

Code: pb

blb = blob(blb,EncodingANSI!)

cela ne passe pas à la compile il attend une string

Code: pb

iFile = FileOpen(sFicTemp, streammode!, write!, LockWrite!, Replace!,EncodingANSI!)

ne semble pas fonctionner non plus

Le selectblob convertie en un Unicode blob. Il faut une methode quie convertise du Unicode blob en Ansi Blob

Hors ligne

 

#8 28-01-2008 14:26:54

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] SelectBlob - Document OLE non reconnu

Tu n'arrives pas à lire les anciens ennregistrements ou meme les nouveaux ?
Ne serait pas un parametre du style DisableUnicode=1 à mettre dans le DbParm ?


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

Hors ligne

 

#9 28-01-2008 14:46:27

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] SelectBlob - Document OLE non reconnu

une bonne piste ca.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#10 28-01-2008 17:43:46

jacq_x  
Membre
Date d'inscription: 08-01-2008
Messages: 9
Pépites: 48
Banque: 0

Re: [RESOLU] SelectBlob - Document OLE non reconnu

Effectivement il faut preciser
In code, before calling SELECTBLOB or UPDATEBLOB with a PowerBuilder blob that contains ANSI string data or binary data, set the BinTxtBlob parameter to 1:

Code: pb

SQLCA.DBParm = "BinTxtBlob=1"

Merci pour votre aide

Hors ligne

 

#11 28-01-2008 19:45:07

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] SelectBlob - Document OLE non reconnu

Merci pour tes explications
Merci de mettre [RESOLU] dans le titre du premier message


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

Hors ligne

 
  • Index
  •  » Migration
  •  » [RESOLU] SelectBlob - Document OLE non reconnu
  • 1 évaluations, moyenne 5

Pied de page des forums

Propulsé par FluxBB 1.2.22