Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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/11/2004, 16h30   #1
Invité de passage
 
Inscription : novembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 4
Points : 0
Points : 0
Par défaut [INTERBASE] Extraction vers txt d'un blob

Bonjour à tous ,

je suis a la recherche d'un commande sql me permettant d'exporter un blob vers un fichier texte.

Ceci me permettrais de récupérer les info dans ce blob.


Merci d'avance.


Ludo186
FORESTIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2004, 16h48   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Il n'y a pas de tel commande SQL.

La solution passe soit par :

- Un programme d'administration de base sachant le faire comme IBExpert par exemple. (Solution entièrement mannuelle et donc enviseageable que si vous n'avez pas beaucoup de données à enregistrer)

-Faire votre propre programme soit en utilisant l'API d'IB pour lire les blob soit en utilisant des componants sachant les lire comme les TField dans Delphi ou BC++. (Solution la plus courante, qui est d'ailleurs la plupart du temps celle utilisées pour enregistrer ces BLOB et donc pour les lire également)

-Si votre BLOB ne contient que du texte il existe une autre possibilité en utilisant l'UDF RFUNC qui permet d'étendre le langage SQL et de manipuler les BLOB de type texte.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2004, 22h43   #3
Invité de passage
 
Inscription : novembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 4
Points : 0
Points : 0
Bonsoir Barbibulle

Je te remerci pour ta reponse.

Je pense que je vais essayer la troisiéme solution dés demain matin.

Merci encore.




ludo186
FORESTIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2004, 11h58   #4
Invité de passage
 
Inscription : novembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 4
Points : 0
Points : 0
Bonjour Barbibulle,

Je n'arrive pas a utiliser l'udf, il me met une erreur :
Citation:
mSQLEditor.Query:
Invalid token.
invalid request BLR at offset 86.
function B_STRPOS is not defined.
module name or entrypoint could not be found.

Voici mon UDF :
Code :
1
2
3
4
5
 DECLARE EXTERNAL FUNCTION B_STRPOS 
     CHAR (60),
     BLOB
     RETURNS INTEGER BY VALUE
     ENTRY_POINT 'fn_b_strpos' MODULE_NAME 'RFUNC';
voici ma requete:
Code :
 SELECT b_strpos('<DateRetour>',docxml) FROM Matable WHERE uid1 = 60661 AND uid2 = 14994
J'ai pourtant bien placé la dll dans le repertoire d'interbase de mon serveur.

En fait je voudrais extraire une date de mon blob qui est en fait du texte sous forme de xml, donc pour ca je voudrais connaitre la position de ma balise de début et la position de ma balise de fin de facon ensuite a extraire ma date avec la fonction '_fn_b_SubStr'.

soit je passe par des requetes avec UDF ou je fait une procédure stockée.

En fait je develloppe avec foxpro, j'attaque interbase via ODBC.
Le pb la recuperation d'un blob ne passe pas.

Merci d'avance pour ton aide.
FORESTIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2004, 12h26   #5
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
rfunc est bien dans \Program Files\Borland\InterBase\UDF ?
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2004, 13h19   #6
Invité de passage
 
Inscription : novembre 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 4
Points : 0
Points : 0
Oui elle se trouve bien dans \Program Files\Borland\InterBase\UDF
FORESTIER est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2004, 14h20   #7
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
essayez la déclaration d'une autre fonction (plus simple) de rfunc pour voir si ca fait la même erreur.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h28.


 
 
 
 
Partenaires

Hébergement Web