当前位置: 首页 > 图文教程 > 数据库 > DB2 > SQL Server7.0 Web資料搜尋技巧

DB2
监控 DB2 活动之使用解释工具分析SQL
DB2 Viper 快速入门
监控 DB2 活动之Visual Explain详细介绍
监控 DB2 活动之其他问题判断工具
DB2 与 Ruby on Rails 入门之一
DB2 实用程序介绍之EXPORT实用程序
浅谈DB2数据库故障处理及最佳实践
使用重定向恢复DB2数据库
DB中如何查询Table占用空间的大小
DB2 实用程序介绍之LOAD实用程序
DB2 实用程序介绍之数据移动实用程序
DB2 实用程序介绍之IMPORT实用程序
SQL Server 2005对DBA的要求是否会更高
IBM XML tools for DB2 Version 9.5 及其用法
DB2 VS2005.Net插件进行XML数据验证
三种级别的DB2数据库字符集的设置与修改
理解DB2 9中新的查询:XQuery
DB2 存储和检索 XML 数据
VS2005构建针对DB2的应用程序和Web站点
.Net开发采用DB2 XML的应用程序示例

DB2 中的 SQL Server7.0 Web資料搜尋技巧


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 112 ::
收藏到网摘: n/a

「資料庫資料」搜尋:使用SQL指令的LIKE語法、或Microsoft SQL Server
7.0的中文全文檢索(Full Text Search)功能。
Microsoft Index Server
於Windows NT Option Pack當中所包括的Microsoft Index Server,提供中
文全文檢索的搜尋功能,可以搜尋網站中Microsoft Word 或Microsoft
Excel檔案、text、html、ASP等檔案格式內的資料。
SQL指令LIKE搜尋
 
一般資料庫資料的搜尋,可以使用SQL指令的LIKE語法,如下:
select * from 資料表名稱 where 欄位名稱 LIKE %搜尋的字串%’
譬如:「select * from 客戶 where 地址 LIKE %台北市%’」可以搜尋
到客戶資料表當中地址欄位有包含台北市的資料。
使用LIKE語法的最大缺點,為動作太慢,因為必須對資料庫裡的資料一筆
一筆地做搜尋。另外,雖然Access資料庫的Memo類型欄位資料也可以搜尋
得到,但是無法搜尋某些類型的欄位資料,譬如SQL Server的Text類型的
欄位資料無法使用SQL指令LIKE語法做搜尋。
SQL Server 7.0全文檢索
對資料庫的資料做搜尋,最好的方式為使用Microsoft SQL Server 7.0的
Full Text Search功能,可以對Char、Varchar、Text、NText、NChar、
NVarchar類型欄位的資料做中文全文檢索的搜尋功能。
您必須安裝Microsoft SQL Server 7.0的Full Text Search部份,這部份
並未包括於SQL Server 7.0的一般安裝步驟當中,必須另外安裝,才可以
使用中文全文檢索的搜尋功能。
設定待搜查資料表的步驟
首先要設定待搜查的資料表,方法為執行 [SQL Server Enterprise Manager],
於待搜查的資料表譬如 [Northwind] 資料庫的 [Customers] 資料表上按右鍵,
選擇 [Full-Text Index Table] 的 [Define Full-Text Indexing on a Table
]。即會顯示 [Full-Text Indexing Wizard] 的畫面。按下 [下一步],選擇做
為唯一索引的欄位。按下 [下一步],選擇做為唯一索引的欄位。按下 [下一步
],選擇或新產生一個儲存索引資料的catalog。
接著按下 [New Schedule] 按鈕排定索引行程,設定多久做一次索引,[Job
type] 可選擇 [Full] 或 [Incremental],[Full] 表示對整個資料表的資料重
新做索引,[Incremental] 表示僅對資料表異動的資料做索引,譬如排定每天
半夜對資料表異動的資料做一次索引。按下 [OK] 和 [下一步],即定義好設定
待搜查的資料表。
這時候並未對待搜查的資料表做索引,必須於[Full-Text Catalogs] 中所設定
的catalog 如 [客戶] 按右鍵選擇 [Start Population] 的 [Full Population]
對整個資料表的資料重新做索引。
以上設定將於每天半夜對資料表異動的資料做一次索引。資料表的資料有異動
時,因為並未立即做索引,必須於隔天半夜做一次索引後,才可以搜尋到異動
的資料。
透過網際網路搜尋資料庫的資料
如何透過網際網路或intranet,搜尋伺服器資料庫的資料呢?在Windows NT的
平台上,最好的選擇就是使用IIS(Internet Information Server)的網站伺
服器,採得ASP(Active Server Pages)撰寫程式。
讓我們先來看看Microsoft SQL Server 7.0的中文全文檢索(Full Text
Search)範例ft1.asp的執行結果,於用戶端使用瀏覽器,瀏覽執行ft1.asp的
結果,顯示搜尋到資料的記錄。
SQL Server 7.0的中文全文檢索十分簡易,只要於SQL指令使用CONTAINS的語
法,如下:
select * from 資料表名稱 where CONTAINS( 欄位名稱, 搜尋的條件’)
譬如:「SELECT * FROM Customers where CONTAINS(Address,台北市)」可
以搜尋到客戶資料表當中地址欄位有包含台北市的資料。

首先於asp程式設定連結到資料庫,連結到SQL Server資料庫
的ASP程式如下:
cn.Open "Driver={SQL Server};Database=資料庫名稱;Server=(Local);
UID=sa; PWD=”
設定了資料庫連結後,第二個步驟就是要下SQL指令,將SQL指令查詢的結果儲
存到Recordset物件rs當中,由rs(“欄位”) 讀取資料庫欄位的資料,
rs.MoveNext移動到下一筆記錄,經由rs.EOF判斷是否已經到最末筆,配合
Do while…Loop就可以取得查詢結果的所有記錄。
SQL Server 7.0除了提供ODBC驅動程式外,也提供了OLE DB Provider,ASP如
何透過OLE DB存取SQL Server呢?
ASP程透過OLE DB 與ODBC驅動程式存取SQL Server 的差異處,為OLE DB 須指
定Provider是誰,即只要多加一行「cn.Provider = "sqloledb"」程式就可以
了,其他與ODBC驅動程式存取SQL Server 的方法相同。連結到SQL Server資
料庫的ASP程式如下:
cn.Provider = "sqloledb"
cn.Open "server=(Local);uid=sa;pwd=;database=資料