选择显示字体大小

sql server7.0 web資料搜尋技巧

「資料庫資料」搜尋:使用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、htmlasp等檔案格式內的資料。

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] 按鈕排定索引行程,設定多久做一次索引,[jobtype] 可選擇 [full] 或[incremental],[full] 表示對整個資料表的資料重新做索引,[incremental] 表示僅對資料表異動的資料做索引,譬如排定每天半夜對資料表異動的資料做一次索引。按下 [ok] 和 [下一步],即定義好設定待搜查的資料表。
  這時候並未對待搜查的資料表做索引,必須於[full-text catalogs] 中所設定的catalog 如 [客戶] 按右鍵選擇 [start population] 的 [full population]對整個資料表的資料重新做索引

  以上設定將於每天半夜對資料表異動的資料做一次索引。資料表的資料有異動時,因為並未立即做索引,必須於隔天半夜做一次索引後,才可以搜尋到異動的資料。
  透過網際網路搜尋資料庫的資料如何透過網際網路或intr.net,搜尋伺服器資料庫的資料呢?在windows nt的平台上,最好的選擇就是使用iis(inte.net 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程式如下:


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons