资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

oracle全文索引为什么不对?请教原因

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

我建立表后,装填入数据,再建立索引,索引建立了,但是也有了错误提示:  
  SQL>   create   index     context_indexinfo   on   testmis.zindex_info(内容)   indextype    
      2     is   ctxsys.context;  
  create   index     context_indexinfo   on   testmis.zindex_info(内容)   indextype  
  *  
  ERROR   位于第   1   行:  
  ORA-29855:   执行   ODCIINDEXCREATE   例行程序时出错  
  ORA-20000:   interMedia   Text   错误:  
  DRG-11422:   语言初始化失败  
  DRG-00100:   internal   error,   arguments   :   [52100],[drxs.c],[553],[gxtopen],[1]  
  DRG-11208:   未设置   ORACLE_HOME  
  ORA-06512:   在"CTXSYS.DRUE",   line   126  
  ORA-06512:   在"CTXSYS.TEXTINDEXMETHODS",   line   78  
  ORA-06512:   在line   1  
   
  我的表结构如下:  
  CREATE   TABLE   TESTMIS.ZINDEX_Info   (  
  编号   int   NOT   NULL     PRIMARY   KEY   ,  
  数据库编码   varchar2(50)   NOT   NULL   ,  
  分类编码   varchar2(50)   NOT   NULL   ,  
  表编码   varchar2(50)     NOT   NULL   ,  
  内容   varchar2(4000)   NOT   NULL    
  )

网友回答:

发表者:zmgowin

参考itpub电子杂志第四期  
  下载连接:    
  http://www.itpub.net/magazine/itpub200304.rar

发表者:LGQDUCKY

 
  itpub电子杂志第四期     这个是里面的一些内容  
   
  利用Oracle   Text,你可以回答如“在存在单词‘Oracle’的行同时存在单词’Corporation’而且两单词间距不超过10个单词的文本‘,’查询含有单词’Oracle’或者单词’   california’的文本,并且将结果按准确度进行排序‘,’含有词根train的文本‘。以下的sql代码实现了如上功能。我们且不管这些语法是如何使用的。  
  DROP   INDEX   index   mytext_idx  
  /  
  CREATE   INDEX   mytext_idx  
  ON   mytext(   thetext   )  
  INDEXTYPE   is   CTXSYS.CONTEXT  
  /  
  SELECT   id  
  FROM   mytext  
  WHERE   contains   (thetext,   near((Oracle,Corporation),10))   >   0  
  /  
  SELECT   score   (1),   id  
  FROM   mytext  
  WHERE   contains   (thetext,   Oracle   or   california,   1)   >   0  
  ORDER   BY   score   (1)   DESC  
  /  
  SELECT   id  
  FROM   mytext  
  WHERE   contains   (thetext,   $train)   >   0;  
  1.2设置  
  首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能。你必须修改数据库以安装这项功能。  
  还可以检查服务器是否有对PLSExtProc服务的监听。  
  lsnrctl   status  
  should   give   status  
  LSNRCTL   for   Solaris:   Version  
  8.1.5.0.0   -   Production   on   31-MAR-99   18:57:49  
  Home:   http://www.itpub.net   Mail:   epub@itpub.net  
  ITPub电子杂志(总第四期)   第6页  
  (c)   Copyright   1998   Oracle   Corporation.   All   rights   reserved.  
  Connecting   to  
  (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))  
  STATUS   of   the   LISTENER  
  ------------------------  
  Alias   LISTENER  
  Version   TNSLSNR   for   Solaris:   Version   8.1.5.0.0   -   Production  
  Start   Date   30-MAR-99   15:53:06  
  Uptime   1   days   3   hr.   4   min.   42   sec  
  Trace   Level   off  
  Security   OFF  
  SNMP   OFF  
  Listener   Parameter   File  
  /private7/Oracle/Oracle_home/network/admin/listener.ora  
  Listener   Log   File  
  /private7/Oracle/Oracle_home/network/log/listener.log  
  Services   Summary...  
  PLSExtProc   has   1   service   handler(s)  
  oco815   has   3   service   handler(s)  
  The   command   completed   successfully  
  Oracle   是通过所谓的‘外部调用功能’(external   procedure)来实现intermedia的。  
  B.   Create   a   user/table/index/query   thus:   As   SYS   or   SYSTEM:  
  ----------------------------------------------------------  
  CREATE   USER   ctxtest   IDENTIFIED   BY   ctxtest;  
  GRANT   CONNECT,   RESOURCE,   ctxapp   TO   ctxtest;  
  ----------------------------------------------------------  
  Do   any   other   grants,   quotas,   tablespace   etc.   for   the   new   user.   As   CTXTEST:  
  ----------------------------------------------------------  
  CREATE   TABLE   quick   (  
  quick_id   NUMBER   PRIMARY   KEY,  
  text   VARCHAR(80));  
  INSERT   INTO   quick  
  (quick_id,   text)  
  VALUES   (1,   The   cat   sat   on   the   mat);  
  INSERT   INTO   quick  
  Home:   http://www.itpub.net   Mail:   epub@itpub.net  
  ITPub电子杂志(总第四期)   第7页(quick_id,   text)  
  VALUES   (2,   The   quick   brown   fox   jumped   over   the   lazy   dog);  
  COMMIT   ;   CREATE   INDEX   quick_text  
  ON   quick   (   text   )  
  INDEXTYPE   IS   ctxsys.CONTEXT;


 

 
热门推荐笔记本: 联想笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved