ENTHÄLT funktioniert nicht mit Oracle Text

Bin ich mit einem Problem zum ausführen dieser Abfrage.

SELECT * FROM gob_attachment 
WHERE CONTAINS (gob_a_document, 'java') > 0

Es mir

ORA-29902: error in executing ODCIIndexStart() routine
ORA-20000: Oracle Text error: 
ORA-00942: table or view does not exist

29902. 00000 -  "error in executing ODCIIndexStart() routine"
*Cause:    The execution of ODCIIndexStart routine caused an error.
*Action:   Examine the error messages produced by the indextype code and
       take appropriate action.

Nach etwas googlen habe ich disovered, dass problem könnte im index, aber wenn ich schaute auf die Tabelle und der index schien Sie ok zu mir.

Create-Skript für die index wird wie folgt suchen

CREATE INDEX FTSI_GOB_A_DOCUMENT 
 ON GOB_ATTACHMENT (GOB_A_DOCUMENT) 
 INDEXTYPE IS CTXSYS.CONTEXT;

Einzige, was mir seltsam ist, dass wenn ich einen Blick auf die Tabelle Bearbeiten in den Eigenschaften einer Tabelle im SQL-Developer kann ich sehen, dass Betriebsstatus der index ist FEHLGESCHLAGEN. Weiß jemand was es bedeutet?Vielleicht DB-Rechte?

Auch, das es funktioniert, wenn ich

dbms_lob.instr(gob_a_document, utl_raw.cast_to_raw('java')) > 0

statt contains

Vielen Dank für jeden Rat

P. S. Es ist im Zusammenhang mit meiner vorherigen Frage Oracle DBMS_LOB.INSTR und Leistung ENTHÄLT

UPDATE

Nach Neuerstellen des index und einigen spielen, habe ich disovered, dass ich die Abfrage ausführen vor, aber es wird nicht zurück mir alles.

Wenn ich versuche es mit CONTAINS(gob_a_document, '%'), das Ergebnis ist 26 Zeilen und weiß nicht von welchem Schlüssel die Abfrage ausgewählt haben(zumindest ich habe nichts gefunden, klar,, ich werde es untersuchen mehr). Problem könnte sein, dass wir mit Oracle 10g und speichern von DOCX-Dateien werden unterstützt ab version 11.

InformationsquelleAutor Petr Mensik | 2012-03-02
Schreibe einen Kommentar