iis|server|虛擬目錄 使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力
在使用 HTTP 訪問 Microsoft? SQL Server? 2000 資料庫之前,必須安裝適當的虛擬目錄。在運行 Microsoft Internet 資訊服務 (IIS) 的
電腦上,使用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力(在"SQL Server 工具"程式組中單擊"在 IIS 中配置 SQL XML 支援")定義
並註冊新的虛擬目錄,即所謂的虛擬根。該工具 + 生產力指示 IIS 在新的虛擬目錄和 Microsoft SQL Server 執行個體之間建立關聯。有關該工具 + 生產力
使用者介面的資訊,請參見 IIS 虛擬目錄管理工具 + 生產力。
必須將 IIS 伺服器和虛擬目錄的名稱指定為 URL 的一部分。虛擬目錄(包括登入、密碼和存取權限)中的資訊用於建立與特定資料庫的串連
並執行查詢。
可以指定 URL:
直接存取資料庫物件,例如表。
在這種情況下,URL 將包括 dbobject 類型的虛擬名稱。
執行模板檔案。
模板是由一個或多個 SQL 陳述式組成的有效 XML 文檔。在 URL 中指定模板檔案時,將執行儲存在模板檔案中的 SQL 命令。可以直接在 URL
中指定 SQL 查詢,但考慮到安全性,不建議這樣做。
執行 XPath 查詢。
對指定作為 URL 一部分的帶批註的映射架構檔案執行 XPath 查詢。
虛擬名
若要使模板檔案、映射架構檔案或資料庫物件(如表或視圖)成為 URL 的一部分,必須建立 template、schema 和 dbobject 類型的虛擬名稱
。將虛擬名稱指定為 URL 的一部分,以便執行模板檔案、對映射架構檔案執行 XPath 查詢或直接存取資料庫。
在 URL 中指定的虛擬名稱類型(template、schema、dbobject)還用於決定在 URL 中指定的檔案類型(模板檔案或映射架構檔案)。例如,
下面的 URL 使用模板訪問 SQL Server 資料庫:
http://IISServer/nwind/TemplateVirtualName/Template.xml
TemplateVirtualName 是 template 類型的虛擬名稱,用於標識指定的檔案 (Template.xml) 是模板檔案。
建立 nwind 虛擬目錄
新增資訊 - SQL Server 2000 SP3。
下例建立 nwind 虛擬目錄。在大多數用於說明 Microsoft? SQL Server? 2000 的 URL 訪問的樣本中,都使用 nwind 虛擬目錄。
在建立 nwind 虛擬目錄之前,需要一個與將要建立的虛擬目錄相關聯的物理目錄(例如,C:\Inetpub\Wwwroot\nwind,此處 nwind 是與將要
在以下過程中建立的 nwind 虛擬目錄相關聯的物理目錄)。
還需要在與該虛擬目錄相關聯的物理目錄下建立兩個子目錄(例如,C:\Inetpub\Wwwroot\nwind\template 和
C:\Inetpub\Wwwroot\nwind\schema)。這些是與 template 和 schema 類型的虛擬名稱相關聯的目錄,這兩種類型的目錄是作為建立 nwind
虛擬目錄的一部分而建立的。
建立 nwind 虛擬目錄
在 Microsoft SQL Server 程式組中,單擊"在 IIS 中配置 SQL XML 支援"。
展開伺服器,然後單擊想要的 Web 網站。
在"操作"菜單上指向"建立"子功能表,然後單擊"虛擬目錄"命令。新虛擬目錄的屬性頁面將顯示在螢幕上。
在"新的虛擬目錄屬性"對話方塊的"常規"選項卡上,輸入虛擬目錄的名稱。對於本例,鍵入 nwind 和物理目錄路徑(例如
C:\Inetpub\Wwwroot\nwind,假設在 C:\Inetpub\Wwwroot 目錄中已建立了 nwind 子目錄)。或者可以使用"瀏覽"按鈕選擇目錄。
在"安全"選項卡上,選擇"SQL Server"和"使用 Windows 整合身分識別驗證"。
在"資料來源"選項卡上,在"SQL Server"框中輸入伺服器的名稱,例如 (local);如果在指定的電腦上安裝了多個執行個體,則輸入 SQL Server
2000 執行個體的名稱(可選)。在"資料庫"框中,輸入 Northwind 作為預設資料庫的名稱。
在"設定"選項卡上,選擇"允許 URL 查詢"、"允許模板查詢"、"允許 XPath"和"允許 POST"選項。
在"虛擬名稱"選項卡上,單擊"建立"按鈕以建立模板類型的虛擬名稱。
在"虛擬名稱配置"對話方塊中:
在"虛擬名稱"框內輸入
template(可以是使用者指定的任意名稱)。在"類型"列表中,選擇"模板"。輸入路徑(例如,C:\Inetpub\Wwwroot\nwind\template,假設與虛
擬目錄相關聯的物理目錄下有一個子目錄 template,但並不檢查該目錄是否存在)。單擊"儲存"按鈕儲存虛擬名稱。
在"虛擬名稱"選項卡上,單擊"建立"按鈕以建立架構類型的虛擬名稱。
在"虛擬名稱"框內輸入
schema(可以是使用者指定的任意名稱)。在"類型"列表中,選擇"架構"。輸入路徑(例如,C:\Inetpub\Wwwroot\nwind\schema,假設與虛擬目
錄相關聯的物理目錄下有一個子目錄 schema)。單擊"儲存"按鈕儲存虛擬名稱。
在"虛擬名稱"選項卡上,單擊"建立"按鈕以建立模板和架構類型的虛擬名稱。
在"虛擬名稱"框內輸入 dbobject(可以是使用者指定的任意名稱)。在"類型"列表中,選擇 dbobject。單擊"儲存"按鈕儲存虛擬名稱。
單擊"確定"按鈕儲存設定。
這就建立了虛擬目錄 nwind。預設情況下,使用該虛擬目錄對 Northwind 資料庫執行指定的查詢。
若要測試虛擬目錄,請在瀏覽器中鍵入:/nwind?sql=SELECT">http://<IISServer>/nwind?sql=SELECT * FROM Employees FOR XML AUTO&root=root 並按 ENTER 鍵
。
使用 HTTP 訪問 SQL Server
新增資訊 - SQL Server 2000 SP3。
可以使用 HTTP 訪問 Microsoft? SQL Server? 2000。有關 SQL ISAPI 擴充所支援的 URL 文法的更多資訊,請參見 URL Access。在可以使用
HTTP 指定查詢前,必須先用用於 SQL Server 的 IIS 虛擬目錄管理工具 + 生產力建立一個虛擬根。有關更多資訊,請參見建立 nwind 虛擬目錄。
SQL Server 的 HTTP 訪問能力使您得以:
直接在 URL 中指定 SQL 查詢,例如:
http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root
指定 FOR XML 子句以 XML 文檔而不是標準行集的形式返回結果。根參數可標識單一的頂層元素。
直接在 URL 中指定模板。
模板是包含一個或多個 SQL 陳述式的有效 XML 文檔。模板使您得以將資料放在一起以形成有效 XML 文檔,但直接在 URL 中指定查詢時不
一定是這樣。例如:
SELECT+*+FROM+Customers+FOR+XM'>http://IISServer/nwind?template=<ROOT+xmlns:sql="urn:schemas-microsoft-com:xml-sql"><sql:query>SELECT+*+FROM+Customers+FOR+XM
L+AUTO</sql:query></ROOT>
在 URL 中指定模板檔案。
在 URL 中寫入長 SQL 查詢會很麻煩。此外,瀏覽器對在 URL 中可以輸入的文本量可能有限制。若要避免這些問題,可以編寫模板並將其儲存
在檔案中。模板是包含一個或多個 SQL 陳述式和 XPath 查詢的有效 XML 文檔。可以在 URL 中直接指定模板檔案,例如:
http://IISServer/nwind/TemplateVirtualName/templatefile.xml
在 URL 中,TemplateVirtualN