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
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
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.
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
Bonjour Barbibulle,
Je n'arrive pas a utiliser l'udf, il me met une erreur :
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 :
voici ma requete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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';
J'ai pourtant bien placé la dll dans le repertoire d'interbase de mon serveur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select b_strpos('<DateRetour>',docxml) from Matable where uid1 = 60661 AND uid2 = 14994
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.
rfunc est bien dans \Program Files\Borland\InterBase\UDF ?
Oui elle se trouve bien dans \Program Files\Borland\InterBase\UDF
essayez la déclaration d'une autre fonction (plus simple) de rfunc pour voir si ca fait la même erreur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager