首先,說一下我們的例子目的--一讓資料庫輸出XML,並且在.net體系下調用出來。
這個系統的資料層是用SQL server資料庫,中介層就用SQL內建的工具“在 IIS 中配置SQL XML 支援”實現就可以了。好的,現在我們開始來做了,首先配置讓SQL 輸出 XML :
這個東西聽起來似乎有些神秘,其實就是在我們普通的查詢語句後邊增加:FOR XML AUTO 就可以了。
舉一個例子:
SELECT TOP 100 topic,name,time
FROM bbs where [order]=1 ORDER BY [Time] DESC
FOR XML AUTO
這條語句在SQL的查詢分析器裡邊執行的結果,大家會發現:輸出的已經不是我們傳統上概念的表格了,是幾排很長的字串,內容就是我們所需的XML代碼。
這樣第一步,讓SQL輸出XML就完成了。
然後開始我們的第2步,讓XML檔案可以用web的方式調用
這條語句調試成功之後,大家可以建立一個檔案:例如aaa.xml
內容如下:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT TOP 100 topic,name,time
FROM bbs where [order]=1 ORDER BY [Time] DESC
FOR XML AUTO
</sql:query>
</ROOT>
在c:\建立一個bbb目錄把他放進去。
中間的部分就是我們傳統的SQL語句,前後封裝的話就是我們通用的一個格式。
把這個檔案放到一個隨意的目錄裡邊,然後開啟SQL的“在 IIS 中配置 SQL XML 支
持”在需要XML支援的網站建立一個虛擬目錄,名稱就叫做ccc吧,本地路徑自然是我們的c:\bbb了。
然後點安全性--輸入你SQL得使用者名稱和密碼,然後是資料來源,就是你的資料庫位置了預設的資料庫。
然後點設定,選擇允許模板查詢,然後點虛擬名稱,點建立類型是template名稱就叫
ddd吧,對應的檔案就是我們的aaa.xml。
然後在IE裡邊開啟:http://你的機器名/ccc/ddd
看到什麼了?對,就是你的那個xml的檔案在SQL查詢的時候輸出的內容。
什麼沒有輸出?開啟你的“Internet 資訊服務(IIS)管理器”,選擇“web擴充服
務”,
然後是把“所有未知的ISAP擴充”選擇允許。現在OK了吧?
好的,然後就是我們最關鍵的一步第3步--如何把這個動態產生的XML檔案在VS.net裡邊調用了。
首先我們要建立一個空的非結構化的dataset1,然後在原始碼裡邊在this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN");
後邊加一句this.dataSet1.ReadXml("http://你的機器名/ccc/ddd");
恭喜你,你現在已經可以把動態產生的這個XML檔案做為一個唯讀dataset來使用了。
本文整理自互連網,歡迎原作者與編輯聯絡,署名著作權 Zujizhe@Chinaz.com