Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 30/11/2010, 13h24   #1
Invité régulier
 
Inscription : novembre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 34
Points : 9
Points : 9
Par défaut [BLOB] Recherche plain text dans BLOB

Bonjour,

J'ai un champ dans ma table de type BLOB, et je veux faire une recherche d'un mot par exemple sur ce fichier.
J'ai utilisé la méthode suivante :

select une_colonne from ma_table where DBMS_LOB.INSTR(doc_content, utl_raw.cast_to_raw('pl sql')) > 0

Cette méthode marche très bien si le fichier stocké est de type "TXT".
Mais si le fichier stocké est de type "PDF", ne marche pas.

Merci.
nabich est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 13h49   #2
Invité de passage
 
Étudiant
Inscription : novembre 2008
Messages : 17
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2008
Messages : 17
Points : 2
Points : 2
Salut,

j'aurais envi de dire que c'est normal dans la mesure ou le pdf est un format de fichier propriétaire qui ne stocke pas du texte brut comme un fichier txt mais plein d'autres paramètres

essai d'ouvrir ton pdf avec un editeur de texte genre notepad tu veras bien.

du coup on doit pas pourvoir faire des recherche de texte dedans
leftyy est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/11/2010, 14h18   #3
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 925
Points : 1 925
Il faut utiliser ORACLE TEXT :
http://download.oracle.com/docs/cd/B...b28303/toc.htm
http://www.oracle-base.com/articles/...acleText9i.php
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2010, 20h06   #4
Invité régulier
 
Inscription : novembre 2006
Messages : 34
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 34
Points : 9
Points : 9
Bonjour,

J'ai résolu ce problème. Dans un premier temps il faut créer un index sur le champ (blob) comme suit :

CREATE INDEX my_doc_content ON doc(doc_content) INDEXTYPE IS CTXSYS.CONTEXT;

puis j'utilise ma requête :

SELECT SCORE(1) score, id, name
FROM doc
WHERE CONTAINS(doc_content, 'bla bla', 1) > 0
ORDER BY SCORE(1) DESC;
nabich 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 03h29.


 
 
 
 
Partenaires

Hébergement Web