在 IIS 中配置 SQL XML 支持 |
發(fā)布時(shí)間: 2012/8/9 15:43:54 |
首先,說(shuō)一下我們的例子目的--一讓數(shù)據(jù)庫(kù)輸出XML,并且在.net體系下調(diào)用出來(lái)。 這個(gè)系統(tǒng)的數(shù)據(jù)層是用SQL server數(shù)據(jù)庫(kù),中間層就用SQL自帶的工具“在 IIS 中配置SQL XML 支持”實(shí)現(xiàn)就可以了。好的,現(xiàn)在我們開(kāi)始來(lái)做了,首先配置讓SQL 輸出 XML : 這個(gè)東西聽(tīng)起來(lái)似乎有些神秘,其實(shí)就是在我們普通的查詢語(yǔ)句后邊增加:FOR XML AUTO 就可以了。 舉一個(gè)例子: SELECT TOP 100 topic,name,time FROM bbs where [order]=1 ORDER BY [Time] DESC FOR XML AUTO 這條語(yǔ)句在SQL的查詢分析器里邊執(zhí)行的結(jié)果,大家會(huì)發(fā)現(xiàn):輸出的已經(jīng)不是我們傳統(tǒng)上概念的表格了,是幾排很長(zhǎng)的字符串,內(nèi)容就是我們所需的XML代碼。 這樣第一步,讓SQL輸出XML就完成了。 然后開(kāi)始我們的第2步,讓XML文件可以用web的方式調(diào)用 這條語(yǔ)句調(diào)試成功之后,大家可以建立一個(gè)文件:例如aaa.xml 內(nèi)容如下: <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:\建立一個(gè)bbb目錄把他放進(jìn)去。 中間的部分就是我們傳統(tǒng)的SQL語(yǔ)句,前后封裝的話就是我們通用的一個(gè)格式。 把這個(gè)文件放到一個(gè)隨意的目錄里邊,然后打開(kāi)SQL的“在 IIS 中配置 SQL XML 支 持”在需要XML支持的站點(diǎn)建立一個(gè)虛擬目錄,名稱就叫做ccc吧,本地路徑自然是我們的c:\bbb了。 然后點(diǎn)安全性--輸入你SQL得用戶名和密碼,然后是數(shù)據(jù)源,就是你的數(shù)據(jù)庫(kù)位置了默認(rèn)的數(shù)據(jù)庫(kù)。 然后點(diǎn)設(shè)置,選擇允許模板查詢,然后點(diǎn)虛擬名稱,點(diǎn)新建類型是template名稱就叫 ddd吧,對(duì)應(yīng)的文件就是我們的aaa.xml。 然后在IE里邊打開(kāi):http://你的機(jī)器名/ccc/ddd 看到什么了?對(duì),就是你的那個(gè)xml的文件在SQL查詢的時(shí)候輸出的內(nèi)容。 什么沒(méi)有輸出?打開(kāi)你的“Internet 信息服務(wù)(IIS)管理器”,選擇“web擴(kuò)展服 務(wù)”, 然后是把“所有未知的ISAP擴(kuò)展”選擇允許,F(xiàn)在OK了吧? 好的,然后就是我們最關(guān)鍵的一步第3步--如何把這個(gè)動(dòng)態(tài)生成的XML文件在VS.net里邊調(diào)用了。 首先我們要建立一個(gè)空的非結(jié)構(gòu)化的dataset1,然后在源代碼里邊在this.dataSet1.Locale = new System.Globalization.CultureInfo("zh-CN"); 后邊加一句this.dataSet1.ReadXml("http://你的機(jī)器名/ccc/ddd"); 恭喜你,你現(xiàn)在已經(jīng)可以把動(dòng)態(tài)生成的這個(gè)XML文件做為一個(gè)只讀的dataset來(lái)使用了。 本文出自:億恩科技【www.1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |