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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay, das bedeutet, dass die CREATE INDEX-Anweisung ist fehlgeschlagen. Hast du eine Fehlermeldung bekommen? Ich denke, die Antwort ist ja, aber Sie haben es verpasst. Also, was Sie tun müssen, ist:
Falls es nicht offensichtlich ist, die andere Anweisung ausgeführt wird, weil es nicht versucht, Ihren KONTEXT-index. Dabei geht es um die Suche nach den harten Weg.
Nicht die Reale Sache war der index Fehler beim erstellen richtig, daher der status. Sie konnte gerade neu aufgebaut wurden, der index, aber es ist in der Regel besser zur Behebung der zugrunde liegenden Ursache der Störung das erste mal. Das ist, warum ich empfohlen, Sie zu löschen und neu zu erstellen. Offensichtlich ist der ursprüngliche Fehler wurde durch einige ambient condition, die nicht mehr gilt.
So klingt, wie Sie das speichern von Dokumenten in einem binären format. Welche Art von Dokumenten? Sind Sie in einem unterstützten format? Das wird davon abhängen, welche version von Oracle, die Sie verwenden. Zum Beispiel, Oracle Text-10g unterstützt bis t Word 2003 (z.B. DOC nur) in der Erwägung, dass Oracle Text 11g unterstützt Word 2007 (also DOCX-Format als auch).