Oracle CATSEARCH不处理特殊字符

时间:2012-10-25 19:35:33

标签: oracle full-text-search

我创建了一个Oracle Text索引,如下所示:

create index my_idx on my_table (text) indextype is 
    ctxsys.ctxcat parameters('index set my_table_iset');

现在我运行查询时:

DECLARE
  cnt  NUMBER;
  attr VARCHAR2(256);
BEGIN
  attr := 'BECKMANNS';
  SELECT COUNT(text)
  INTO cnt
  FROM my_table
  WHERE catsearch(text, attr, '') > 0 ;
  dbms_output.put_line( '->' || cnt);
END;

这很有效。但是当我改变

的值时
attr := '"BECKMANNS"'

我收到错误:

ORA-29902: error in executing ODCIIndexStart() routine
ORA-20000: Oracle Text error:
DRG-50943: query token too long on line 1 on column 1

我在Oracle文档中发现我可以用括号中的特殊字符包装

attr := '{' || '"BECKMANNS"' || '}'

但这仍然会出现同样的错误。我试过这种变化,但无济于事。

任何想法?

0 个答案:

没有答案