SQL SERVER 2000的全文搜索
添加時間:2014-6-20 7:55:05
添加:
思海網絡
全文搜索: 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列,一個存放文件類型的列 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.html5。插入數據 建立下面這個存儲過程--------------------------------------------------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+'" /'+@directionEXEC master..xp_cmdshell @exec_str6。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,'標題')
sp_fulltext_column 'dali','MyImage','add',0x0804,'FileType' ---這句是指定MyImage列為全文索引列,FileType是類型列4、在c盤下放一個擴展名為htm的網頁文件index.html5。插入數據 建立下面這個存儲過程--------------------------------------------------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+'" /'+@directionEXEC master..xp_cmdshell @exec_str6。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等謂詞。
關鍵字:數據庫、SQL SERVER
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解