使用用於SQL 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:InetpubWwwroot wind,此處 nwind 是與將要在以下過程中建立的 nwind 虛擬目錄相關聯的物理目錄)。
還需要在與該虛擬目錄相關聯的物理目錄下建立兩個子目錄(例如,C:InetpubWwwroot wind emplate 和
C:InetpubWwwroot windschema)。這些是與 template 和 schema 型別的虛擬名稱相關聯的目錄,這兩種型別的目錄是作為建立 nwind虛擬目錄的一部分而建立的。
建立 nwind 虛擬目錄
在 Microsoft SQL Server 程式組中,單擊"在 IIS 中配置 SQL XML 支援"。
展開伺服器,然後單擊想要的 Web 站點。
在"操作"選單上指向"新建"子選單,然後單擊"虛擬目錄"命令。新虛擬目錄的屬性頁將顯示在螢幕上。
在"新的虛擬目錄屬性"對話方塊的"常規"選項卡上,輸入虛擬目錄的名稱。對於本例,鍵入 nwind 和物理目錄路徑(例如C:InetpubWwwroot wind,假設在 C:InetpubWwwroot 目錄中已建立了 nwind 子目錄)。或者可以使用"瀏覽"按鈕選擇目錄。
在"安全"選項卡上,選擇"SQL Server"和"使用 Windows 整合身份驗證"。
在"資料來源"選項卡上,在"SQL Server"框中輸入伺服器的名稱,例如 (local);如果在指定的計算機上安裝了多個例項,則輸入 SQL Server2000 例項的名稱(可選)。在"資料庫"框中,輸入 Northwind 作為預設資料庫的名稱。
在"設定"選項卡上,選擇"允許 URL 查詢"、"允許模板查詢"、"允許 XPath"和"允許 POST"選項。
在"虛擬名稱"選項卡上,單擊"新建"按鈕以建立模板型別的虛擬名稱。
在"虛擬名稱配置"對話方塊中,在"虛擬名稱"框內輸入template(可以是使用者指定的任意名稱)。在"型別"列表中,選擇"模板"。輸入路徑(例如,C:InetpubWwwroot wind emplate,假設與虛擬目錄相關聯的物理目錄下有一個子目錄 template,但並不檢查該目錄是否存在)。單擊"儲存"按鈕儲存虛擬名稱。
在"虛擬名稱"選項卡上,單擊"新建"按鈕以建立架構型別的虛擬名稱。
在"虛擬名稱"框內輸入schema(可以是使用者指定的任意名稱)。在"型別"列表中,選擇"架構"。輸入路徑(例如,C:InetpubWwwroot windschema,假設與虛擬目錄相關聯的物理目錄下有一個子目錄 schema)。單擊"儲存"按鈕儲存虛擬名稱。
在"虛擬名稱"選項卡上,單擊"新建"按鈕以建立模板和架構型別的虛擬名稱。
在"虛擬名稱"框內輸入 dbobject(可以是使用者指定的任意名稱)。在"型別"列表中,選擇 dbobject。單擊"儲存"按鈕儲存虛擬名稱。,單擊"確定"按鈕儲存設定。
這就建立了虛擬目錄 nwind。預設情況下,使用該虛擬目錄對 Northwind 資料庫執行指定的查詢。
若要測試虛擬目錄,請在瀏覽器中鍵入:
/nwind?sql=SELECT">http:///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 中指定查詢時不一定是這樣。例如:
com:xml-< p>
SELECT+*+FROM+Customers+FOR+XM'>http://IISServer/nwind? template= L+AUTO |
在 URL 中指定模板檔案。
在 URL 中寫入長 SQL 查詢會很麻煩。此外,瀏覽器對在 URL 中可以輸入的文字量可能有限制。若要避免這些問題,可以編寫模板並將其儲存在檔案中。模板是包含一個或多個 SQL 語句和 XPath 查詢的有效的 XML 文件。可以在 URL 中直接指定模板檔案,例如:http://IISServer/nwind/TemplateVirtualName/templatefile.xml
在 URL 中,TemplateVirtualName 是使用用於 SQL Server 的 IIS 虛擬目錄管理實用工具建立的 template 型別的虛擬名稱。
模板檔案還刪除來自使用者的資料庫查詢的詳細資訊以增強安全性。通過將模板檔案儲存在註冊資料庫時所在的虛擬根目錄(或其子目錄)中,刪除虛擬根上的 URL 查詢處理服務並只允許 SQL Server XML ISAPI 處理檔案及返回結果集,從而加強了安全性。
指定在帶批註的 XML 資料簡化 (XDR) 架構(也稱為對映架構)上執行的 XPath 查詢。
從概念上講,對對映架構編寫 XPath 查詢與使用 CREATE VIEW 語句建立檢視並對檢視編寫 SQL 查詢相似,例如:http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]
在這個 URL 中:
SchemaVirtualName 是使用用於 SQL Server 的 IIS 虛擬目錄管理實用工具建立的 schema 型別的虛擬名稱。
Customer[@CustomerID="ALFKI"] 是在該 URL 中指定的 schemafile.xml 上執行的 Xpath 查詢。
直接在 URL 中指定資料庫物件。
可以將資料庫物件(如表和檢視)指定為 URL 的一部分,並對資料庫物件指定 Xpath 查詢,例如:http://IISServer/nwind/dbobjectVirtualName/XpathQuery
在這個 URL 中,dbobjectVirtualName 是使用用於 SQL Server 的 IIS 虛擬目錄管理實用工具建立的 dbobject 型別的虛擬名稱。
說明 當在 URL 中執行需要資源(如記憶體)的操作(建立臨時表和臨時儲存過程、宣告遊標、執行sp_xml_preparedocument 等等)時,必須執行適當的相應命令(如 DROP TABLE、DROP PROCEDURE、DEALLOCATE 遊標或 EXECUTE sp_xml_removedocument)以釋放資源。
XML 文件和文件片段當用 root 引數執行模板或查詢時,結果是有單個頂層元素的完整 XML 文件。例如,下列 URL 執行模板:http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml
下面是一個示例模板檔案 (MyTemplate.xml):
SELECT * FROM Customers FOR XML AUTO |
模板中的 標記為結果 XML 文件提供了單個的頂層元素。
可以直接在 URL 中指定查詢。在此例中,root 引數指定返回文件中的頂層元素:http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO&root=root
如果在寫上述查詢時不使用 root 引數,將返回一個 XML 文件片段(即缺少單個頂層元素的 XML 文件)。 該片段沒有標題資訊。例如,下列URL 將返回文件片段:http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO
當請求一個 XML 文件時,將返回用以標識文件編碼型別的位元組順序標記。位元組順序標記是用以標識 XML 文件編碼型別的標準位元組順序。XML分析器使用該位元組順序標記確定文件編碼型別(如 Unicode)。例如,位元組順序標記"oxff, 0xfe"將文件標識為 Unicode。預設情況下,分析器假設 UTF-8 為文件編碼型別。
當請求 XML 片段時將不返回位元組順序標記,因為位元組順序標記屬於 XML 文件標題,而 XML 片段中沒有標題。
安全說明 Microsoft SQLXML Web 發行版增強了對此 XML 功能的支援。要使用最新的增強功能,請從 Microsoft Web 站點安裝 Microsoft SQLXML 3.0 Service Pack 1。此 Service Pack 附帶的文件提供了開發應用程式時應考慮的安全事項的資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-618117/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- IIS虛擬目錄掛載檔案伺服器目錄伺服器
- 在JSP獲取虛擬目錄JS
- C#虛擬儀器開發實戰之目錄C#
- ubuntu虛擬機器 掛載共享目錄Ubuntu虛擬機
- Linux系統中虛擬裝置檔案的各種實用用法Linux
- 在 Mac Catalina 的 root 目錄建立虛擬檔案Mac
- Nginx 配置二級虛擬目錄訪問 Laravel 重寫NginxLaravel
- 目錄管理
- 虛擬伺服器管理實踐伺服器
- 學習《Java虛擬機器》目錄索引(持續更新中)Java虛擬機索引
- Vmware fusion 命令列管理虛擬機器便捷工具命令列虛擬機
- 使用DiskGenius工具來實現物理機遷移虛擬機器,實現虛擬化虛擬機
- 管理(006):啟用只讀Oracle Home目錄Oracle
- 虛擬化監控管理工具如何選擇
- Python虛擬環境工具-Virtualenv 介紹及部署記錄Python
- 實操:KVM虛擬化管理平臺操作
- Apache虛擬目錄配置及vue-cli反向代理的設定方法ApacheVue
- VMware 虛擬機器一鍵去虛擬化工具虛擬機
- 工時表管理:好處、目的及實用用途
- 虛擬化技術之kvm WEB管理工具kimchiWeb
- Hyper-v虛擬工具
- VUE - 配置根目錄(用@代表src目錄)Vue
- 虛擬機器與容器的混合管理實踐虛擬機
- Anaconda管理虛擬環境
- 元宇宙技術對於虛擬模擬應用的影響元宇宙
- 【目錄】日常工具與其它文章目錄
- VMware虛擬機器Ubuntu根目錄磁碟空間(/dev/sda1)擴容虛擬機Ubuntudev
- mac虛擬光碟機工具:Daemon Tools for Mac 中文啟用版Mac
- 4個用於在雲原生環境中執行虛擬機器的開源工具虛擬機開源工具
- KVM虛擬機器的管理虛擬機
- KVM虛擬化平臺管理
- Docker虛擬化管理:30分鐘教你學會用DockerDocker
- 虛擬化技術之kvm磁碟管理工具qemu-img
- Linux檔案和目錄管理Linux
- Linux檔案及目錄管理Linux
- jQuery 關於點選選單項,使子條目jQuery
- Conda虛擬環境管理與Jupyter kernel管理
- iToolab AnyGo for Mac(iOS虛擬定位工具)GoMaciOS
- CrossOver for Mac(Windows虛擬機器工具)ROSMacWindows虛擬機