Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2005, 09h42   #1
Membre habitué
 
Inscription : juin 2003
Messages : 112
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 112
Points : 107
Points : 107
Par défaut Récupérer un blob

Bonjour,

Y-a un moyen pour récupérer dans Delphi le contenu d'un champ blob d'une requete, par exemple sous la forme d'un TStream afin de pouvoir le traiter ?

Merci
Jean-Pierre
J-P-B est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2005, 15h32   #2
Membre confirmé
 
Avatar de Jeweller
 
Inscription : août 2003
Messages : 354
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 354
Points : 226
Points : 226
Il y a plusieurs solutions, sans que l'une soit plus idéale qu'une autre... Tout dépend aussi que ce qu'il contient.

La premiere consiste à ne pas utiliser de blob mais des types chaines de caractères...

La deuxième consiste à convertir le champ en question en chaine de caractères (si celui-ci contient biensur du texte) dès la requete SQL. Sous SQLServer ca donnerait un truc dans ce gout:

Code :
CONVERT(VARCHAR(8000), CONVERT(VARBINARY(8000), MON_CHAMP_BLOB)))
La requete est utilisable depuis un xmlrgram, mais cela a le gros inconvenient de fixer ton code à un type de SGBD en particulier! Pas génial!

La dernière solution que je vois consiste à utiliser sous delphi un autre middleware d'accès à la BDD qui le permet. Si tu utilises ADO par exemple, le principe est de connecter un TADODataset (en récupérant le chaine de connexion depuis le curseur Datasources biensur) et de l'utiliser pour récupérer ton champ BLOB. Tu peux ainsi attaquer le champ qq soit son contenu (fichiers, images, texte, ...). En encapsulant cela proprement dans un composant par exemple cela fonctionne bien... en tout cas c'est la meilleure solution que j'ai pu trouver...

Michael
Jeweller est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2005, 15h40   #3
Membre habitué
 
Inscription : juin 2003
Messages : 112
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 112
Points : 107
Points : 107
Merci de ta réponse.

Actuellement, je suis avec Interbase, et la solution intermédiaire que j'ai trouvé, c'est d'utiliser une UDF qui enregistre le blob dans un fichier temporaire, que je charge ensuite ...

Après, la solution de la deuxième connexion est attrayante, il faut que je teste si le temps de connexion est pas trop long.

Merci
J-P-B est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h44.


 
 
 
 
Partenaires

Hébergement Web