欢迎光临
我们一直在努力

全文索引image列,全攻略!-数据库专栏,SQL Server

建站超值云服务器,限时71元/月

今天“百年不遇”的停电了,看了一天书。晚上搞了一下全文索引,决定把心得贴出来,我尽量写的详细,大家共同学习,欢迎指正!

1、启动 microsoft search 服务
   开始菜单–>sql程序组–>服务管理器–>下拉筐–>microsoft search 服务–>启动它

2、
  ..\microsoft sql server\mssql\ftdata qlserver\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(dali) and a.name=id 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———-
–调试环境:sqlserver2000企业版、windows2000高级服务器

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 全文索引image列,全攻略!-数据库专栏,SQL Server
分享到: 更多 (0)

相关推荐

  • 暂无文章