?? 0904-0101.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0904-0101 -->
<HTML><HEAD><TITLE>XML中國論壇 - 初學進階 - 9.4.1.1 MS SQL Server</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt9 {
FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"
}
.pt10 {
FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋體"
}
.TempOutline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.TempOutline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.Outline11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage0 {
FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage1 {
FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage11 {
FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
.passage111 {
FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋體"; TEXT-DECORATION: none
}
</STYLE>
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0
onload=""><!-- 以下為主體內容 -->
<div align="center">
<center>
<TABLE border=0 width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<TBODY>
<TR vAlign=top>
<TD width=31 rowSpan=2></TD>
<TD vAlign=center width="879">
<p align="center"><IMG height=33
src="image/title_learner.gif" width=226></TD>
<TD width=42 rowSpan=2></TD>
</TR>
<TR vAlign=top>
<TD width="879" ><!-- 正文內容 -->
<DIV class=pt10><B>9.4.1.1 MS SQL Server</B></DIV>
<DIV></DIV><BR>
<DIV class=pt9>
<P>開發基于XML的動態應用,如動態信息發布、動態數據交換等,前提是必須有數據庫的支持。在這一方面,Oracle和Microsoft走在其他廠商的前面,Oracle做為全球第一大數據庫及數據庫應用解決方案提供廠商,早在1999年就率先推出支持XML的數據庫產品——Oracle
8i。在這一章,我們來簡要地介紹一些對XML提供支持的數據庫。<BR><BR>就在XML技術在全球日益盛行的時候,Microsoft于2000年1月宣布其SQL
Server對XML提供支持,并且發布了一個預覽版本。由此可以看出Microsoft在其戰略決策上將XML技術放在一個何等重要的地位,而這一消息的發布無疑將給廣大的XML技術人員和SQL
Server用戶帶來了強勁動力。</P>
<P>Microsoft SQL
Server的XML支持計劃,是其下一步龐大計劃的一部分,即旨在產生一組功能強大的產品和服務來實現所謂的BizTalk框架。BizTalk是Microsoft現有的、幫助商務公司實現應用軟件一體化的分布式互連網應用DNA
(Windows Distributed interNet Applications
)體系結構的延伸和擴展。以后的Microsoft產品和工具本身都將包含對BizTalk服務體系結構的支持。Microsoft Commerce
Platform、Office、BackOffice 以及Windows 都將利用BizTalk XML
Schema來保存文檔的額外信息,并且用它來實現BackOffice和基于Windows應用軟件的一體化集成。Microsoft產品套件、Microsoft
Office 2000發行的下一個主要版本都打算將HTML提升成為一種內置支持的文件格式,并且使用XML來存儲額外的文檔信息。Microsoft
SQL Server正是其實現這一目的的底層數據管理的有力工具。</P>
<P>在此之前,Microsoft就一直致力于將XML技術同其數據庫旗艦產品SQL
Server相集成,以幫助建立下一代的高效的基于Web的企業應用。Microsoft宣稱,其下一版本SQL
Server,即代號為Shiloh,將是一個完全支持XML的產品,利用該產品,用戶可以在Web瀏覽器下輸入一個URL地址,即可訪問SQL
Server數據庫,而返回的結果可以是一個XML文檔。另外,它還允許通過輸入樣式參數,指定樣式信息,以便在瀏覽器中輸出豐富的頁面。例如,一個典型的URL如下所述:</P>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%">href=http://localhost/Northwind?sql=select+name,id,
company,email
+from+clientList+for+xml+auto</TD></TR></TBODY></TABLE></CENTER></DIV>
<P>XML SQL技術預覽提供了以下幾種XML訪問功能:
<UL>
<LI>利用HTTP協議以URL的方式訪問SQL
Server數據庫。<BR>這是最基本的訪問方式。另外,通過指定樣式模板參數,可以返回具有一定樣式信息的數據。該樣式模板是一個包含一條或多條SQL
語句的合法的XML文檔。返回的XML文檔可以通過指定的XML模式來定義,三種模式為:RAW、AUTO、EXPLICIT。
<LI>利用在SELECT語句中附加FOR XML返回XML格式數據。<BR>作為對XML模式的一種補充,通過在FOR
XML中指定DTD或XML schema來達到對返回XML文檔的格式化。
<LI>利用基于XML的UPDATE語句來更新數據庫中的記錄。<BR>SQL
Server支持基于XML的插入、刪除、修改等數據庫更新操作。通用的更新語法是: </LI></UL>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><sql:sync
xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <BR>
<!-- 用于刪除和修改操作中 --> <BR> <sql:before>
<BR> <TABLENAME <!-- 數據表名
--><BR> [sql:id="value"]
<!-- 僅用于修改操作中 --><BR>
col="value"col="value"…<BR> />
<BR> </sql:before><BR> <!-- 用于插入和修改操作中
--> <BR> <sql:after><BR>
<TABLENAME <!-- 數據表名
--><BR>
[sql:id="value"]<BR>
[sql:at-identity="value"] <!-- 僅用于插入操作中
--><BR> col="value"
col="value"…<BR> /><BR>
</sql:after><BR></sql:sync></TD></TR></TBODY></TABLE></CENTER></DIV>
<UL>
<LI>利用對象模型在Script腳本程序中實現同樣的功能。<BR>XML
SQL技術預覽提供的osqlxml.dll允許利用對象模型在Script腳本程序中實現基于XML的數據庫操作。下面是一個ASP示例:
</LI></UL>
<DIV align=center>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD width="100%"><%@ LANGUAGE = VBScript %><BR><%
Response.ContentType = "text/xml" %><BR><%<BR> SET
oSQLXML = CreateObject("Microsoft.SQLXMLRequest")<BR>
oSQLXML.Connection = "<BR> Driver=SQL
Server;<BR>
Server=FRANKMAN-CAVE;<BR> Database=Northwind;<BR> uid=sa;pwd=<BR>
"<BR> oSQLXML.ExecuteQuery("Select * from customers for XML
AUTO")<BR> Response.BinaryWrite oSQLXML.ResultAsBinary
<BR>%> </TD></TR></TBODY></TABLE></CENTER></DIV>
<P>XML SQL
技術預覽展示了Microsoft在XML技術應用上的實力,通過將XML同數據庫相結合實現了強大的功能。但是,由于該技術目前只是一個預覽版本,其本身還會不斷發展,相信在正式發布時將會有所改進。</P></DIV>
<P></P>
<P></P></TD></TR></TBODY></TABLE>
</center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -