|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2006 Messages : 34 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2008 Messages : 17 ![]() |
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 |
|
|
01
|
|
|
#3 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Il faut utiliser ORACLE TEXT :
http://download.oracle.com/docs/cd/B...b28303/toc.htm http://www.oracle-base.com/articles/...acleText9i.php |
|
|
10
|
|
|
#4 |
|
Invité régulier
![]() Inscription : novembre 2006 Messages : 34 ![]() |
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; |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com