




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、7.1 數(shù)據(jù)存儲(chǔ)7.2 XML與數(shù)據(jù)庫(kù)的轉(zhuǎn)換7.3 SQL Server 對(duì) XML的支持7.4 Oracle對(duì) XML的支持1;. XML與數(shù)據(jù)庫(kù)的關(guān)系越來越密切。從存儲(chǔ)在不同介質(zhì)中的數(shù)據(jù)自動(dòng)的生成XML文檔以及從不同的數(shù)據(jù)存儲(chǔ)交換信息,將成為未來面向信息的Internet的主要特點(diǎn),信息世界的多極化必將使動(dòng)態(tài)XML文檔不斷的增加:它們用于加載任何的東西,包括圖像和聲音;還用于越來越多的信息交換。從多用戶參與操作的需求來看,最好的方法就是利用數(shù)據(jù)庫(kù)。 數(shù)據(jù)存儲(chǔ)描述的是任何用來存儲(chǔ)數(shù)據(jù)的介質(zhì)。數(shù)據(jù)存儲(chǔ)可以是結(jié)構(gòu)化的文本文件、XML文件、關(guān)系數(shù)據(jù)庫(kù),甚至是某種專用的二進(jìn)制格式。本節(jié)我們將對(duì)比一下
2、如何使用關(guān)系數(shù)據(jù)庫(kù)和XML文檔來儲(chǔ)存信息,然后再看看如何將這二者結(jié)合起來,以提供一種可靠的、易于存儲(chǔ)的數(shù)據(jù)存儲(chǔ)。2;. 數(shù)據(jù)庫(kù)和XML有很多共同之處:二者都提供了構(gòu)造和存儲(chǔ)信息的方法。關(guān)系數(shù)據(jù)庫(kù)以記錄和字段的形式存儲(chǔ)信息,其特點(diǎn)在于字段或記錄之間的順序和關(guān)系并不重要。同樣可以構(gòu)造一個(gè)XML文檔來存儲(chǔ)信息,其存儲(chǔ)方式與數(shù)據(jù)庫(kù)相似。不同的是,在XML文檔中,各個(gè)部分之間的順序或關(guān)系總是有意義的。 對(duì)于大多數(shù)信息而言,既可以作為關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ),又可以作為XML文檔存儲(chǔ)。在很多情形中,采用哪一種存儲(chǔ)介質(zhì)并沒有明顯的優(yōu)劣差別。但在某些情形中,哪一種更合適是很明顯的。采用何種數(shù)據(jù)存儲(chǔ)介質(zhì),不僅取決于數(shù)據(jù)本
3、身的特性,還取決于使用數(shù)據(jù)的方式。3;. 1.數(shù)據(jù)的查詢 XML文檔的查詢和選擇必須使用DOM和XPath來進(jìn)行。例子:Query.cs 2.更新和插入 使用DOM方法,也可以很方便地實(shí)現(xiàn)更新和插入操作 。例子:XmlAdd.cs4;. 現(xiàn)在的很多技術(shù)都支持XML與數(shù)據(jù)庫(kù)的連接,如ASP ,DOM,SOAP,XML-RPC等,下面就來看看利用ASP.NET和DOM來實(shí)現(xiàn)數(shù)據(jù)庫(kù)與XML的信息交換,即如何把數(shù)據(jù)庫(kù)中的信息提取出來生成所需的XML文檔,以及怎樣把一些重要的信息寫入到數(shù)據(jù)庫(kù)中。7.2.1數(shù)據(jù)庫(kù)到XML文檔的信息傳送例子:DBtoXML.cs7.2.2 XML文檔到數(shù)據(jù)庫(kù)的信息傳送例子:
4、XMLtoDB5;. SQL Server2000中的XML支持包括: 使用SELECT語句中的FOR XML子句檢索XML數(shù)據(jù) 簡(jiǎn)單的HTTP URL請(qǐng)求 Updategram XML Bulkload OPENXML6;. 注意,如果只是安裝了基本的SQL Server2000,這些技術(shù)還是不可用的,需要安裝XML for SQL Server2000 Web Release1,該軟件可從微軟網(wǎng)站上免費(fèi)下載。另外,這里的很多技術(shù)還需要IIS5.0或更高版本的支持方可工作。7.3.1. 從SQL Server數(shù)據(jù)庫(kù)中提取XML數(shù)據(jù) 1FOR XML 從SQL Server數(shù)據(jù)庫(kù)中提取XML數(shù)
5、據(jù)的最基本方式是在SQL 查詢中使用FOR XML子句,告知SQL Server提供一份XML文檔來作為響應(yīng)。 FOR XML子句的基本語法如下: FOR XML mode , XMLDATA , ELEMENTS , BINARY BASE647;. 其中mode是使用該子句時(shí)需指明的下述三種模式之一: RAW 提供一份簡(jiǎn)單的幾乎沒有格式化的XML結(jié)果 AUTO提供一份具有更多格式 選項(xiàng)的XML結(jié)果 EXPLICIT允許 對(duì)所返回的XML結(jié)果進(jìn)行顯示的格式化 2. 簡(jiǎn)單的HTTP URL請(qǐng)求 SQL Server2000的另一項(xiàng)功能是能夠通過http執(zhí)行查詢,所需的工作僅僅是將它們標(biāo)記到UR
6、L的尾部。也可以以類似的方式提供XPath查詢。但是在產(chǎn)品級(jí)的應(yīng)用程序中并不提倡這樣做,因?yàn)樵撜Z法允許執(zhí)行任意的查詢,這樣如果該數(shù)據(jù)庫(kù)暴露在Internet上,將會(huì)引發(fā)潛在的安全隱患。不過,在設(shè)計(jì)期間用它來進(jìn)行測(cè)試還是很有用的。 8;.7.3.2. XML數(shù)據(jù)插入到數(shù)據(jù)庫(kù) 1. OPENXML OPENXML的基本語法如下所示: OPENXML (iDoc int in,RowPattern nVarchar in,F(xiàn)lags byte in ) WITH (rowsetschema colpatterns | tablename ) iDoc參數(shù)指定表示XML文檔的內(nèi)部節(jié)點(diǎn)樹,該參數(shù)包含由s
7、p_xml_preparedocument存儲(chǔ)過程所返回的值。 RowPattern參數(shù)用來定義將要返回的XML文檔中的元素,指定OPENXML將要處理的iDoc文檔的節(jié)點(diǎn)。節(jié)點(diǎn)是通過XPath表達(dá)式來指定的。 Flag參數(shù)告訴SQL Server搜索屬性和(或)子元素。該值可以是0(默認(rèn)值,表示屬性)、1(屬性)或2(元素)。要同時(shí)搜索屬性和元素,您需要組合這些值來生成3。9;. WITH子句允許指定希望出現(xiàn)在結(jié)果集中的列、它們的數(shù)據(jù)類型及將源XML的哪個(gè)節(jié)點(diǎn)映射到該列。WITH子句有三個(gè)選項(xiàng): WITH TableName將結(jié)果集關(guān)聯(lián)到一個(gè)已有的數(shù)據(jù)表。 WITH (Name varcha
8、r(20),Root/Name)指定列、數(shù)據(jù)類型及用于告知處理器源XML節(jié)點(diǎn)映射位置的XPath表達(dá)式(可選)。 全部忽略掉該子句。2. XML BulkLoad XML BulkLoad技術(shù)可以用于將大量的XML數(shù)據(jù)填充到數(shù)據(jù)庫(kù)的數(shù)據(jù)表中。 10;. 為此,需要使用SQLXMLBulkLoad對(duì)象??梢酝ㄟ^VBScript之類的腳本語言來創(chuàng)建該對(duì)象: Set BulkLoadObj = CreateObject(“SQLXMLBulkLoad. SQLXMLBulkLoad”)一旦有了該對(duì)象,還要為它提供:連接細(xì)節(jié),以保證它能夠訪問待填充的數(shù)據(jù)庫(kù)。包含待上載數(shù)據(jù)的XML。用于說明XML數(shù)據(jù)和
9、數(shù)據(jù)庫(kù)間映射細(xì)節(jié)的注釋schema文件。 11;. Oracle公司在其最新Oracle 8i數(shù)據(jù)庫(kù)產(chǎn)品中提供了對(duì)XML的支持,使其成為開發(fā)基于XML的Internet應(yīng)用的系統(tǒng)平臺(tái)。作為Oracle 8i數(shù)據(jù)庫(kù)的一個(gè)主要組成部分,Java版本的XMLSQL實(shí)用工具在Oracle公司的XML戰(zhàn)略計(jì)劃中扮演著重要角色。該工具包包含了一組Java類,可完成下述兩大功能: 向數(shù)據(jù)庫(kù)發(fā)送查詢語句,然后從返回的結(jié)果中輸出XML文檔(文本或DOM節(jié)點(diǎn)樹)。 將XML數(shù)據(jù)保存至數(shù)據(jù)庫(kù)。 這兩大功能可以說是SQL數(shù)據(jù)庫(kù)支持XML的最基本要求,卻足以體現(xiàn)當(dāng)今XML技術(shù)發(fā)展的潮流。12;.Oracle Java版本的XMlSQL實(shí)用工具具有下列特性:能夠從SQL查詢中產(chǎn)生XML文檔能夠從SQL查詢語句或JDBC ResultSet對(duì)象中輸出文 本或文檔對(duì)象模型節(jié)點(diǎn)樹(DOM)。能夠?qū)ML文檔數(shù)據(jù)寫人數(shù)據(jù)庫(kù)表或視圖中支持w3C的XMLl.0推薦標(biāo)準(zhǔn)??梢酝ㄟ^擴(kuò)展進(jìn)而支持Sax1.0文檔訪問。支持基于下列字符集的文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵觀音茶企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 麥草漿企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 廢舊生活用品回收與批發(fā)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 羽毛(絨)加工企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 橋梁收費(fèi)服務(wù)企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 數(shù)據(jù)庫(kù)管理服務(wù)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 水產(chǎn)品罐頭企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 2025年記錄儀表項(xiàng)目建議書
- 尾款結(jié)算協(xié)議
- 客流量統(tǒng)計(jì)與分析協(xié)議
- 教學(xué)講解課件-杜鵑花
- 護(hù)理查對(duì)制度-課件
- 設(shè)備清單-15年物聯(lián)網(wǎng)智慧生活實(shí)訓(xùn)平臺(tái)專業(yè)版
- 漢字偏旁部首表及例字
- 2021年中國(guó)遠(yuǎn)洋海運(yùn)集團(tuán)有限公司招聘筆試試題及答案解析
- 《大學(xué)物理學(xué)》課程教學(xué)大綱
- 勵(lì)志班會(huì)你想成為什么樣人
- ISOTS-9002:2022質(zhì)量管理體系ISO9001:2022-應(yīng)用指南
- 《帶狀皰疹治療學(xué)》牛德興教授專業(yè)研究治療病毒性皰疹50年心血
- 戴氏無線電遙控飛機(jī)教程
- 巴黎盧浮宮介紹PPT模板課件
評(píng)論
0/150
提交評(píng)論