程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 讓SQL Server數據支持XML

讓SQL Server數據支持XML

編輯:關於SqlServer

如果你在IT業工作,那麼你很可能聽說過XML;但如果你的工作主要與SQL Server有關,那麼你可能並沒有直接運用過XML。XML已經是Web編程環境中的普遍的數據格式了,而且它也是.NET Framework中主要的底層技術之一。SQL Server以兩種方式來支持XML:通過SQL Server本身的功能,以及通過發布稱為SQLXML的額外的功能。SQLXML擴展了SQL Server,並提供了XML兼容性。在本月的專欄中,我將講述SQL Server對XML的內置的支持,並講述通過發布SQLXML而增加的一些功能(見 圖1)。SQL Server支持XML就意味著,我們可以更有效地更新和讀取數據了;我們不再需要將XML數據轉換成數據庫可以理解的另一種格式,或將XML數據從數據庫轉換成XML。而且,可供開發人員選擇的方法也更多了,就是說,他們在訪問數據方面更靈活了。

對XML的宣傳已經有很多了,所以重要的一點是要意識到它只是一門簡單的技術。本質上,它是用來描述數據的一個標准的文件格式。(有關XML基礎知識的更多的信息,請參閱工具條“XML 101”。)從發布SQL Server 2000的最初版本以來,對XML的支持就已經是SQL Server的一部分了。SQL Server不是通過提供一個方法保存XML文件來支持XML的,而是提供了一個到關系數據的接口,使你可以在表和其它數據庫對象中讀寫XML數據。SQL Server所固有的XML功能包括:可以通過HTTP、模板查詢、FOR XML子句和OPENXML()函數來訪問SQL Server。接下來,我將講述這些功能是如何運作的,以及它們可以如何使你的企業受益。

圖1. 提供 XML支持

要通過HTTP訪問一個SQL Server數據庫,你必須首先設置一個虛擬目錄。這個虛擬目錄在HTTP協議和一個特定的數據庫之間提供了一個鏈接。設置虛擬目錄時,我們需要用“Configure SQL XML Support In IIS”菜單條目,你可以在Window的Start菜單中的SQL Server菜單條目找到該項。通過該菜單條目,你就可以指定虛擬目錄的名稱、物理路徑、服務器名稱、數據庫名稱和注冊信息。一旦你創建了一個虛擬目錄,你就可以通過一個URL將查詢發送到數據庫了。如果你設置了一個叫做Northwind的虛擬目錄,並在浏覽器中輸入了查詢/Northwind?sql=SELECT+*+FROM+Shippers+FOR+XML+AUTO,ELEMENTS+&root=Shippers,它就會返回類似於“XML 101”工具條中的Shippers例子中的XML數據。與運用ADO或其它任何技術相比,HTTP查詢會讓我們更容易地來訪問網站或Web應用程序的數據。 對於一個簡單的查詢語句來說,HTTP查詢會很好,但對於一個更復雜的查詢來說,這種格式就會變得難以理解並很難管理了。這種方法也不安全,因為查詢源代碼是暴露給用戶的。另外一種可選方法是在HTTP上調用一個模板查詢。一個模板查詢就是一個包含SQL查詢的XML文件。模板作為文件保存在服務器上。因此,如果你在一個叫做GetShippers.xml的模板中封裝了Shippers SELECT查詢,那麼URL查詢的形式就會是:/Northwind/templates/GetShippers.xml。模板也可以帶有參數,當你的模板調用一個存儲過程時,該功能會很有用。在URL查詢和模板查詢中,如果你想從查詢返回一個HTML頁面,那麼你可以指定一個XSLT樣式表,將它用於XML。模板查詢是讀取數據的一個更安全的方法,它可以被緩存以得到更好的性能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved