数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
SQL SERVICE 2000的全文搜索的整理

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

全文搜索的整理:
 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列,一个存放文件类型的列
   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盘下放一个扩展名为htm的网页文件index.html
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
6。insert dali values(1,0x,'htm','网页')
sp_textcopy 'GAOLONG','gaolong1','831001','test','dali','MyImage','c:\index.html','where ID=1','I'
依次参数是:服务器名(不是实例名),用户名,密码,数据库名,表名,image列名,路径及文件名,条件(你必须保证它只选择一行),
 这儿常见问题:
(1)结果显示
     output
    'textcopy' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    Null
   解决办法:就到 C:\Program Files\Microsoft SQL Server\MSSQL\Binn
目录下拷备 textcopy.exe到:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
(2)结果显示
DB-Library Error 10004: 无法连接: SQL Server 不可用或不存在。 没有找到指定的 SQL server。
ERROR: Could not connect to SQL Server 'pr'
 解决办法:服务器的相关的登陆参数不对,可按实际情况调整。
7。填充全文索引
 sp_fulltext_table 'dali','start_full'
8。测试
select * from dali where contains(MyImage,'标题')

以上是在查询分析器中操作,还可用其他的方法操作:
1、  打开NorthWind数据库,右键Products表,选择“全文索引表”,“在表上定义全文索引”,为其创建全文目录。在“全文索引向导”中,选择你需要全文查询条件的列(可以是文本或图像),我们选择Productname和QuantityPerUnit列。然后下一步,输入一个新的目录proCatalog,点击下一步。在填充调度一项里,我们暂时不建立填充调度。接着“下一步”,全成全文索引向导。完成后,我们可以看到在“全文目录”里,多了一个全文目录proCatalog。右键proCatalog属性,可以看到其状态、表、调度情况。
2、  右键全文目录proCatalog, “启动完全填充”,系统会出现“全文目录填充成功启动”。
3、  这时,我们可以使用Transact-SQL进行全文检索了,我们使用CONTAINS、FREETEXT等谓词。

该资料整理中有来自于:http://www.haihua.net/hhwwview.asp?id=133http://www.jaron.cn/chs_db/20/2003-11/20031102002340-101385.html




相关文章

相关软件