📄 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 + -