


通過(guò)HTTP訪問(wèn)SQL Server 2000數(shù)據(jù)庫(kù)
添加時(shí)間:2014-10-7 21:19:34
添加:
思海網(wǎng)絡(luò)
Microsoft SQL Server 2000的新特性之一就是支持XML,所以用戶可以通過(guò)HTTP方式直接訪問(wèn)具備XML功能的SQL Server2000數(shù)據(jù)庫(kù)。下面介紹實(shí)現(xiàn)方法。
系統(tǒng)環(huán)境:Windows2000 Server(包含IIS)+ MS SQL Server2000
數(shù)據(jù)庫(kù):SQL Server2000附帶的經(jīng)典數(shù)據(jù)庫(kù)樣本:NorthWind
一、配置IIS和SQL Server virtual domains;
1.新建文件目錄
打開(kāi)Windows資源管理器,在Inetpub\wwwroot下新建目錄northwind:
C:\Inetpub\wwwroot\northwind
在northwind目錄下再新建2個(gè)子目錄:template和schema:
C:\Inetpub\wwwroot\nwind\template,用于放置XML模版;
C:\Inetpub\Wwwroot\nwind\schema,用于放置schema文件。
2.映射IIS的虛擬目錄
在SQL程序組中選擇“Configure SQL XML Support in IIS”,在默認(rèn)站點(diǎn)下選擇“新建”->“虛擬路徑”;然后進(jìn)行五步標(biāo)準(zhǔn)配置。
(1)在“General”頁(yè)中,輸入虛擬路徑名稱(chēng)“northwind”并映射至實(shí)際硬盤(pán)路徑。
(2)在“Security”頁(yè)中,選擇相應(yīng)的登陸帳號(hào)和口令。本例中使用系統(tǒng)帳號(hào)sa。
(3)在“Data Source”頁(yè)中,選擇SQL Server名稱(chēng)或IP地址,并選擇數(shù)據(jù)庫(kù)。
(4)在“Settings”頁(yè)中,分別選中“允許URL查詢”、“允許模版查詢”、“允許XPath”和“允許Post”。
(5)在“Virtual Names”頁(yè)中,分別定義Template、Schema和Dbobject,并指定實(shí)際硬盤(pán)路徑,結(jié)果見(jiàn)圖。
然后,確定并關(guān)閉窗口。
二、用URL方式執(zhí)行查詢和存儲(chǔ)過(guò)程;
至此,我們已經(jīng)設(shè)置好SQL和IIS,下面開(kāi)始精彩的訪問(wèn)歷程。先在IE瀏覽器中鍵入以下地址:
http://172.24.2.98/northwind?sql=select+*+from+customers+for+xml+auto&root=root
得到結(jié)果如圖所示。
其中,
“northwind”為虛擬路徑名;
“select+*+from+customers”為SQL查詢語(yǔ)句“Select * from customers”
“for XML”語(yǔ)句表示輸出的數(shù)據(jù)格式為XML文檔,而非標(biāo)準(zhǔn)數(shù)據(jù)行。
“root”參數(shù)表示為頂層元素。
RAW、AUTO和EXPLICIT三種XML模式分別為:
RAW在每條記錄前加一個(gè)簡(jiǎn)單的標(biāo)識(shí),如“<rowCustomerID="ALFKI"…”
AUTO則會(huì)在每條記錄前加入數(shù)據(jù)表的名稱(chēng),如“<CustomersCustomerID="ALFKI"”
EXPLICIT則可用于定義XML的樹(shù)形結(jié)構(gòu)。
初試成功后,我們?cè)賴(lài)L試使用URL地址執(zhí)行存儲(chǔ)過(guò)程(Stored Procedure)。先在SQL Query Analyzer中新建一個(gè)名為CategoryInfo的存儲(chǔ)過(guò)程;代碼如下:
CREATE PROCEDURE CategoryInfo
AS
SELECT CategoryName, Deion FROM Categories
FOR XML AUTO
通過(guò)地址
http://172.24.2.98/northwind?sql=execute+categoryinfo&root=root
即可執(zhí)行存儲(chǔ)過(guò)程。
三、訪問(wèn)XML模版文件
此外,網(wǎng)站開(kāi)發(fā)人員還可以定義XML的模版,定義查詢條件和結(jié)果輸出格式:
如,在wwwroot\northwind\template目錄下生成一個(gè)XML文檔first.xml,其中包含一個(gè)查詢語(yǔ)句,代碼如下:
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<sql:query>
SELECT *
FROM Customers AS Customer
FOR XML auto
</sql:query>
</root>
通過(guò)地址http://172.24.2.98/northwind/template/first.xml訪問(wèn),得到結(jié)果。
結(jié)合Extensible Stylesheet Language (XSL)可以格式化查詢結(jié)果,使報(bào)表更加美觀。
系統(tǒng)環(huán)境:Windows2000 Server(包含IIS)+ MS SQL Server2000
數(shù)據(jù)庫(kù):SQL Server2000附帶的經(jīng)典數(shù)據(jù)庫(kù)樣本:NorthWind
一、配置IIS和SQL Server virtual domains;
1.新建文件目錄
打開(kāi)Windows資源管理器,在Inetpub\wwwroot下新建目錄northwind:
C:\Inetpub\wwwroot\northwind
在northwind目錄下再新建2個(gè)子目錄:template和schema:
C:\Inetpub\wwwroot\nwind\template,用于放置XML模版;
C:\Inetpub\Wwwroot\nwind\schema,用于放置schema文件。
2.映射IIS的虛擬目錄
在SQL程序組中選擇“Configure SQL XML Support in IIS”,在默認(rèn)站點(diǎn)下選擇“新建”->“虛擬路徑”;然后進(jìn)行五步標(biāo)準(zhǔn)配置。
(1)在“General”頁(yè)中,輸入虛擬路徑名稱(chēng)“northwind”并映射至實(shí)際硬盤(pán)路徑。
(2)在“Security”頁(yè)中,選擇相應(yīng)的登陸帳號(hào)和口令。本例中使用系統(tǒng)帳號(hào)sa。
(3)在“Data Source”頁(yè)中,選擇SQL Server名稱(chēng)或IP地址,并選擇數(shù)據(jù)庫(kù)。
(4)在“Settings”頁(yè)中,分別選中“允許URL查詢”、“允許模版查詢”、“允許XPath”和“允許Post”。
(5)在“Virtual Names”頁(yè)中,分別定義Template、Schema和Dbobject,并指定實(shí)際硬盤(pán)路徑,結(jié)果見(jiàn)圖。
然后,確定并關(guān)閉窗口。
二、用URL方式執(zhí)行查詢和存儲(chǔ)過(guò)程;
至此,我們已經(jīng)設(shè)置好SQL和IIS,下面開(kāi)始精彩的訪問(wèn)歷程。先在IE瀏覽器中鍵入以下地址:
http://172.24.2.98/northwind?sql=select+*+from+customers+for+xml+auto&root=root
得到結(jié)果如圖所示。
其中,
“northwind”為虛擬路徑名;
“select+*+from+customers”為SQL查詢語(yǔ)句“Select * from customers”
“for XML”語(yǔ)句表示輸出的數(shù)據(jù)格式為XML文檔,而非標(biāo)準(zhǔn)數(shù)據(jù)行。
“root”參數(shù)表示為頂層元素。
RAW、AUTO和EXPLICIT三種XML模式分別為:
RAW在每條記錄前加一個(gè)簡(jiǎn)單的標(biāo)識(shí),如“<rowCustomerID="ALFKI"…”
AUTO則會(huì)在每條記錄前加入數(shù)據(jù)表的名稱(chēng),如“<CustomersCustomerID="ALFKI"”
EXPLICIT則可用于定義XML的樹(shù)形結(jié)構(gòu)。
初試成功后,我們?cè)賴(lài)L試使用URL地址執(zhí)行存儲(chǔ)過(guò)程(Stored Procedure)。先在SQL Query Analyzer中新建一個(gè)名為CategoryInfo的存儲(chǔ)過(guò)程;代碼如下:
CREATE PROCEDURE CategoryInfo
AS
SELECT CategoryName, Deion FROM Categories
FOR XML AUTO
通過(guò)地址
http://172.24.2.98/northwind?sql=execute+categoryinfo&root=root
即可執(zhí)行存儲(chǔ)過(guò)程。
三、訪問(wèn)XML模版文件
此外,網(wǎng)站開(kāi)發(fā)人員還可以定義XML的模版,定義查詢條件和結(jié)果輸出格式:
如,在wwwroot\northwind\template目錄下生成一個(gè)XML文檔first.xml,其中包含一個(gè)查詢語(yǔ)句,代碼如下:
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
<sql:query>
SELECT *
FROM Customers AS Customer
FOR XML auto
</sql:query>
</root>
通過(guò)地址http://172.24.2.98/northwind/template/first.xml訪問(wèn),得到結(jié)果。
結(jié)合Extensible Stylesheet Language (XSL)可以格式化查詢結(jié)果,使報(bào)表更加美觀。
通過(guò)以上介紹,你也許已經(jīng)對(duì)SQL2000和XML有了初步的了解。仔細(xì)閱讀SQL的幫助文件和MSDN.COM會(huì)對(duì)你深入掌握SQL2000有著更大的幫助。
關(guān)鍵字:SQL Server、數(shù)據(jù)庫(kù)、虛擬目錄
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解