在使用 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 Server2000 實例的名稱(可選)。在"數據庫"框中,輸入 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 虛擬目錄。