啟動 Microsoft Search 服務
開始菜單
>SQL程序組
>服務管理器
>下拉筐
>Microsoft Search 服務
>啟動它
\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目錄裡建一個非空noise
chs文件
非空noise
chs文件
也有人說是空的noise
chs文件
但我每次都往裡寫幾個沒用的字母
建立環境
打開查詢分析器
>執行下列腳本
create database test
創建test數據庫
use test
選擇test數據庫
create table dali (ID int not null primary key
MyImage image
FileType varchar(
)
FileNmae varchar(
))
創建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 nstid=c
id and c
name like
PK%
exec sp_fulltext_table
dali
create
My_FullDir
@Key
這兩句是為全文索引
對表進行標記
sp_fulltext_column
dali
MyImage
add
x
FileType
這句是指定MyImage列為全文索引列
FileType是類型列
在c盤下放一個擴展名為doc的word文件
一個擴展名為xls的excel文件
一個擴展名為htm的網頁文件
個擴展名為bmp的圖片
共
個
大家可根據實際情況放入!
插入數據
建立下面這個存儲過程
CREATE PROCEDURE sp_textcopy
@srvname varchar (
)
@login varchar (
)
@password varchar (
)
@dbname varchar (
)
@tbname varchar (
)
@colname varchar (
)
@filename varchar (
)
@whereclause varchar (
)
@direction char(
)
AS
/* 這是使用textcopy工具將文件插入到數據庫中
如果有前台工具可以用前台開發工具將文件插入
這裡為了演示 */
DECLARE @exec_str varchar (
)
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(
x
doc
大力的doc
)
其中第二列是
x 它是一個
進制數對應image列
是必須的
不要寫null
第三列是文件類型
既擴展名
sp_textcopy
你的服務器名
sa
你的密碼
test
dali
MyImage
c:\大力的doc
doc
where ID=
I
依次參數是
實例名
用戶名
密碼
數據庫名
表名
image列名
路徑及文件名
條件(你必須保證它只選擇一行)
I
insert dali values(
x
bmp
圖片
)
sp_textcopy
你的服務器名
sa
你的密碼
test
dali
MyImage
c:\圖片
bmp
where ID=
I
注意條件是 ID=
insert dali values(
x
xls
Excel文件
)
sp_textcopy
你的服務器名
sa
你的密碼
test
dali
MyImage
c:\Excel文件
xls
where ID=
I
注意條件是 ID=
insert dali values(
x
htm
網頁
)
sp_textcopy
你的服務器名
sa
你的密碼
test
dali
MyImage
c:\網
where ID=
I
注意條件是 ID=
上面的語句
要保證類型一樣
路徑正確
條件唯一正確應該就可以了
填充全文索引
sp_fulltext_table
dali
start_full
第一個參數是表名
第二個參數是啟動表的全文索引的完全填充
可以開始你的實驗了
select * from dali where contains(MyImage
J老師
)
select * from dali where contains(MyImage
海老師
)
END
From:http://tw.wingwit.com/Article/os/xtgl/201311/8969.html