iclotus


    
    
  1、启动   Microsoft   Search   服务  
   
        开始菜单-->SQL程序组-->服务管理器-->下拉筐-->Microsoft   Search   服务-->启动它  
   
   
   
  2、  
   
      ..\Microsoft   SQL   Server\MSSQL\FTDATA\SQLServer\Config\目录里建一个非空noise.chs文件  
   
      非空noise.chs文件,也有人说是空的noise.chs文件,但我每次都往里写几个没用的字母。  
   
   
   
  3、建立环境  
   
        打开查询分析器-->执行下列脚本:  
   
  --------------------------------------------  
   
  create   database   test   ---创建test数据库  
   
  use   test                           ---选择test数据库  
   
  create   table     dali   (ID   int   not   null   primary   key,MyImage   image,FileType   varchar(255),FileNmae   varchar(255))   ---创建dali表  
   
  --dali表中   Id,MyImage,FileType   三列是必须的,因为要对image列索引的话,必须要有一个主键列,一个image列,一个存放文件类型的列  
   
  --我们知道在windows系统中文件类型是靠扩展名来区分的所以FileType列也就是用来放   文件的扩展名  
   
  --------------------------------------------  
   
   
   
  sp_fulltext_database   \'enable\'   --为全文索引启用数据库  
   
  sp_fulltext_catalog   \'My_FullDir\',   \'create\'     ---创建一个叫My_FullDif的全文目录  
   
   
   
  declare   @Key   sysname   ;   select   @Key=c.name   from   syscolumns   a,sysconstraints   b,sysobjects   c   where   a.id=object_id(\'a\')   and   a.name=\'a\'   and   a.id=b.id   and   b.constid=c.id   and   c.name   like   \'PK%\'  
   
  exec   sp_fulltext_table   \'dali\',\'create\',\'My_FullDir\',@Key     ----这两句是为全文索引,对表进行标记  
   
   
   
  sp_fulltext_column   \'dali\',\'MyImage\',\'add\',0x0804,\'FileType\'     ---这句是指定MyImage列为全文索引列,FileType是类型列  
   
  ------------------------------------------------  
   
  4、在c盘下放一个扩展名为doc的word文件,一个扩展名为xls的excel文件,一个扩展名为htm的网页文件,个扩展名为bmp的图片  
   
        共4个,大家可根据实际情况放入!  
   
   
   
  5、插入数据  
   
      建立下面这个存储过程  
   
  --------------------------------------------------  
   
  CREATE   PROCEDURE   sp_textcopy    
   
      @srvname         varchar   (30),    
   
      @login             varchar   (30),    
   
      @password         varchar   (30),    
   
      @dbname             varchar   (30),    
   
      @tbname             varchar   (30),    
   
      @colname         varchar   (30),    
   
      @filename         varchar   (30),    
   
      @whereclause   varchar   (40),    
   
      @direction     char(1)    
   
  AS    
   
  /*   这是使用textcopy工具将文件插入到数据库中,如果有前台工具可以用前台开发工具将文件插入,这里为了演示   */  
   
  DECLARE   @exec_str   varchar   (255)    
   
  SELECT   @exec_str=\'textcopy   /S   \'+@srvname+\'   /U   \'+@login+\'   /P   \'+@password+\'   /D   \'+@dbname+\'   /T\'+@tbname+\'   /C   \'+@colname+\'   /W"\'+@whereclause+\'"   /F"\'+@filename+\'"   /\'+@direction  
   
  EXEC   master..xp_cmdshell   @exec_str  
   
  ----------------------------------------------------  
   
   
   
  insert   dali   values(1,0x,\'doc\',\'大力的doc\')   ---其中第二列是   0x   它是一个16进制数对应image列,是必须的,不要写null,第三列是文件类型,既扩展名  
   
   
   
  sp_textcopy   \'你的服务器名\',\'sa\',\'你的密码\',\'test\',\'dali\',\'MyImage\',\'c:\大力的doc.doc\',\'where   ID=1\',\'I\'  
   
  -------依次参数是:实例名,用户名,密码,数据库名,表名,image列名,路径及文件名,条件(你必须保证它只选择一行),I  
   
  ---------------------------------------------------------------------------------------------------------------------  
   
  insert   dali   values(2,0x,\'bmp\',\'图片\')  
   
  sp_textcopy   \'你的服务器名\',\'sa\',\'你的密码\',\'test\',\'dali\',\'MyImage\',\'c:\图片.bmp\',\'where   ID=2\',\'I\'   --注意条件是   ID=2  
   
   
   
  insert   dali   values(3,0x,\'xls\',\'Excel文件\')  
   
  sp_textcopy   \'你的服务器名\',\'sa\',\'你的密码\',\'test\',\'dali\',\'MyImage\',\'c:\Excel文件.xls\',\'where   ID=3\',\'I\'   --注意条件是   ID=3  
   
   
   
  insert   dali   values(4,0x,\'htm\',\'网页\')  
   
  sp_textcopy   \'你的服务器名\',\'sa\',\'你的密码\',\'test\',\'dali\',\'MyImage\',\'c:\网页.htm\',\'where   ID=4\',\'I\'   --注意条件是   ID=4  
   
   
   
  ----------上面的语句,要保证类型一样,路径正确,条件唯一正确应该就可以了  
   
   
   
  6、填充全文索引  
   
   
   
  sp_fulltext_table   \'dali\',\'start_full\'   ---第一个参数是表名,第二个参数是启动表的全文索引的完全填充  
   
   
   
  7、可以开始你的实验了  
   
   
   
  select   *   from   dali   where   contains(MyImage,\'J老师\')  
   
   
   
  select   *   from   dali   where   contains(MyImage,\'海老师\')  
   
   
   
  ------END----------  
   
  --调试环境:SQLServer2K、Windows2Kas  

分类:

技术点:

相关文章: