雖說ADO2.5宣稱支持XML,但是它仍需要一個額外的層來處理把數(shù)據(jù)轉(zhuǎn)化成XML的過程。幸好有了SQL Server 2000,它宣稱可以直接從數(shù)據(jù)庫中取出數(shù)據(jù),而不通過ADO2.5直接把數(shù)據(jù)以XML方式顯示出來。這個功能極大的提高了構(gòu)造分布式、數(shù)據(jù)集中的應(yīng)用程序的性能,因?yàn)檫@個特性消除了不必要的代碼層。
4、增強(qiáng)了 Microsoft SQL Server 2000 OLE DB 提供程序 (SQLOLEDB),使得可以將 XML 文檔設(shè)置為命令文本并以流的形式返回結(jié)果集。
可見,我們可以使用好幾種方法使用SQL Server 2000來訪問XML格式的數(shù)據(jù):第一種,在 URL 中執(zhí)行的查詢可以直接訪問 SQL Server 2000生成XML文檔(也可以調(diào)用存儲在Web服務(wù)器上的XML模版生成XML數(shù)據(jù)文件)。第二種,可以使用SELECT命令和FOR XML要害字,通過調(diào)用一個存儲過程或是通過使用XPath查詢來取得XML數(shù)據(jù)。SQL Server 2000 完全支持 XDR(XML數(shù)據(jù)簡化)架構(gòu),具有映射XML元素和屬性到表和字段中的功能。下面,我就探討一下SQL Server 2000對XML的支持特性。
一、配置SQL Server 2000的IIS虛擬目錄
在本文的開始,我想先談一談如何配置SQL Server 2000的IIS虛擬目錄。SQL Server 2000 答應(yīng)為IIS創(chuàng)建一個虛擬目錄,用來直接訪問一個SQL數(shù)據(jù)庫中的數(shù)據(jù)。一旦在一臺配置了IIS的計算機(jī)上安裝了SQL Server 2000,就可以運(yùn)行SQL Server 的 IIS 虛擬目錄治理實(shí)用工具來配置SQL Server 2000的IIS虛擬目錄。
好,讓我們開始配置過程吧!
在"SQL Server 工具"程序組中單擊"在 IIS 中配置 SQL XML 支持",這時就會出現(xiàn)一個與IIS治理器相似的界面。展開服務(wù)器,選取默認(rèn)的 Web 站點(diǎn),點(diǎn)右鍵,在彈出的菜單中選取“新建”選項(xiàng),然后單擊"虛擬目錄"命令。新虛擬目錄的屬性頁將顯示在屏幕上。在"新的虛擬目錄屬性"對話框的"常規(guī)"選項(xiàng)卡上,輸入虛擬目錄的名稱,在本例中,請輸入Northwind和物理目錄路徑(例如 C:InetpubWwwrootNorthwind,假設(shè)在 C:InetpubWwwroot 目錄中已創(chuàng)建了 Northwind子目錄),當(dāng)然我們也可以使用“瀏覽”按鈕選擇目錄。在“安全性”選項(xiàng)卡上,填入有效的 SQL Server 登錄信息,在進(jìn)入下一個選項(xiàng)卡時,它將要求你確認(rèn)剛才輸入的密碼。在“數(shù)據(jù)源”選項(xiàng)卡上,在“SQL Server”框中輸入服務(wù)器的名稱,在“數(shù)據(jù)庫”框中,輸入 Northwind 作為默認(rèn)數(shù)據(jù)庫的名稱。在"設(shè)置"選項(xiàng)卡上,你可以選擇“答應(yīng) URL 查詢”、“答應(yīng)模板查詢”、“答應(yīng) XPath”和“答應(yīng) POST”選項(xiàng)。
在構(gòu)建一個應(yīng)用程序時,你不但要考慮到能夠訪問到SQL Server數(shù)據(jù)庫,要有足夠的安全級別以保證你的數(shù)據(jù)的安全性。在“虛擬名稱”選項(xiàng)卡上,你可以更具自己的需要選擇新建模板類型(template)、架構(gòu)類型(schema)和模板和架構(gòu)類型(dbonject),并創(chuàng)建它們的路徑。好,我們這樣就創(chuàng)建了虛擬目錄 Northwind。默認(rèn)情況下,使用該虛擬目錄對 Northwind 數(shù)據(jù)庫執(zhí)行指定的查詢。你一定迫不及待的吸納高看看執(zhí)行SQL的結(jié)果是什么樣的了吧?好,讓我們在瀏覽器中輸入http://localhost/northwind?sql=SELECT * FROM CUSTOMERS FOR XML AUTO&root=root,試驗(yàn)一下吧!
我們還可以編程來實(shí)現(xiàn)配置SQL Server 2000的IIS虛擬目錄,請見下面的代碼:
Set ObjXML = CreateObject("SQLVDir.SQLVDirControl")
ObjXML.Connect 'Connect to the local computer and Web site "1"
Set ObjVDirs = ObjXML.SQLVDirs
Set ObjVDir = ObjVDirs.AddVirtualDirectory("Northwind")