程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQLServer同IndexServer的結合應用3/3

SQLServer同IndexServer的結合應用3/3

編輯:關於SqlServer
通過SQL Server查詢Index Server
  如果要通過SQL Server查詢Index Server,須使用OPENQUERY函數。其語法結構如下。
  OPENQUERY(linked_server, 'query')
  其中linked_server參數為連接的名稱。而query參數為要進行的查詢,它將以一個字符串的形式傳送給OPENQUERY函數。此函數返回的將是一個虛擬表,從而可以讓我們對其做進一步的查詢。
  
  下面的語句查找內容包含中SQL這個單詞的所有文件:
  SELECT *
  FROM OpenQuery(FileSystem,
  'SELECT Directory, FileName, DocAuthor, Size, Create
  FROM SCOPE()
  WHERE CONTAINS( Contents, ''SQL'' ) ' )
  對於Index Server的查詢,其FROM語句的語法格式於普通的SQL語句是有所區別的。其語法結構如下:
  FROM [ Catalog_Name.. ] { SCOPE( [ 'Scope_Arguments' ] ) }
  其中的Catalog_Name參數用於指明要進行查詢的索引目錄。由於我們在定義連接時只能選擇一個索引目錄,所以此參數在此將被省略。而SCOPE函數用於指明要進行查詢的文件所在的目錄。SCOPE函數的語法結構如下圖所示。
  
  其中DEEP TRAVERSAL OF關鍵字指明將查詢目錄中所有的文件,包括其子目錄中的所有文件。而SHALLOW TRAVERSAL OF關鍵字則指明只查詢頂級目錄中的文件,而不包括子目錄中的那些文件。如果不指明查詢的目錄深度,則默認為DEEP TRAVERSAL OF。
  physical_path和virtual_directory分別為物理目錄和虛擬目錄。其中各自的含義在圖中已經標示的非常明白了,在此就不再進一步說明了。
  Index Server共支持50種文件屬性,而可以用來作為查詢條件或返回結果的常用文件屬性:
  
  屬性名稱 數據類型 注釋 可否用於ORDER BY子句 可否用於SELECT語句中
  Access datetime 文件的最後訪問時間。 可 可
  Characterization nvarchar或ntext 文檔的描述或摘要,由Index Server使用。 否 可
  Create datetime 文件的創建時間。 可 可
  Directory Nvarchar 文件的物理路徑,不包含文件名。 可 可
  DocAppName nvarchar 創建文件的應用程序的名稱。如Microsoft Word 9.0。 可 可
  DocAuthor nvarchar 文檔的作者。 可 可
  DocComments nvarchar 關於文檔的注釋。 可 可
  DocCompany nvarchar 寫作文檔的公司的名稱。 可 可
  DocLastAuthor nvarchar 最近編輯文檔的用戶。 可 可
  DocLastPrinted datetime 文檔的最近一次打印時間。 可 否
  DocPageCount integer 文檔的頁數。 可 否
  DocParaCount integer 文檔的圖形數量。 可 否
  DocRevNumber integer 文檔的當前版本。 可 可
  DocSubject nvarchar 文檔的主題。 可 可
  DocTemplate nvarchar 文檔的模板。 可 可
  DocTitle nvarchar 文檔的標題。 可 可
  DocWordCount integer 文檔的字數。 可 否
  FileIndex Decimal(19,0) 文件的唯一標識。 可 可
  FileName nvarchar 文件名。 可 可
  HitCount integer 文件中的命中次數(單詞匹配查詢)。即文件中有多少個查詢條件中的單詞。 可 可
  Path nvarchar 文件的物理路徑,包含文件名。 可 可
  Rank integer 行的等級,范圍從 0 到 1000,數字越大表示越匹配。 可 可
  ShortFileName nvarchar 短文件名(8.3格式)。 可 可
  Size Decimal(19,0) 文件大小,單位是字節。 可 可
  VPath nvarchar 指向文件的完整虛擬路徑,包括文件名。如果有多個可能的路徑,將選擇最符合查詢的一個。 可 可
  Write datetime 最近一次寫文件的時間。 可 可
  
  可以在Where子句中使用以上各種屬性作為查詢的條件。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved