WEB开发网
开发学院数据库MSSQL Server 通过HTTP访问SQL Server 2000数据库 阅读

通过HTTP访问SQL Server 2000数据库

 2007-11-11 05:09:00 来源:WEB开发网   
核心提示:Microsoft SQL Server 2000的新特性之一就是支持xml(标准化越来越近了),所以用户可以通过HTTP方式直接访问具备xml(标准化越来越近了)功能的SQL Server2000数据库,通过HTTP访问SQL Server 2000数据库,下面介绍实现方法,系统环境:Windows2000 Serv

  Microsoft SQL Server 2000的新特性之一就是支持xml(标准化越来越近了),所以用户可以通过HTTP方式直接访问具备xml(标准化越来越近了)功能的SQL Server2000数据库。下面介绍实现方法。

系统环境:Windows2000 Server(包含IIS)+ MS SQL Server2000

数据库:SQL Server2000附带的经典数据库样本:NorthWind

一、配置IIS和SQL Server virtual domains;
1.新建文件目录

打开Windows资源管理器,在Inetpub\wwwroot下新建目录northwind:

C:\Inetpub\wwwroot\northwind

在northwind目录下再新建2个子目录:template和schema:

C:\Inetpub\wwwroot\nwind\template,用于放置xml(标准化越来越近了)模版;

C:\Inetpub\Wwwroot\nwind\schema,用于放置schema文件。

2.映射IIS的虚拟目录

在SQL程序组中选择“Configure SQL xml(标准化越来越近了) Support in IIS”,在默认站点下选择“新建”->“虚拟路径”;然后进行五步标准配置。

(1)在“General”页中,输入虚拟路径名称“northwind”并映射至实际硬盘路径,结果见图。

通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图一)" />
(2)在“Security”页中,选择相应的登陆帐号和口令。本例中使用系统帐号sa,结果见图。
通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图二)" />
(3)在“Data Source”页中,选择SQL Server名称或IP地址,并选择数据库,结果见图。
通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图三)" />
(4)在“Settings”页中,分别选中“允许URL查询”、“允许模版查询”、“允许XPath”和“允许Post”,结果见图。
通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图四)" />
(5)在“Virtual Names”页中,分别定义Template、Schema和Dbobject,并指定实际硬盘路径,结果见图。
通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图五)" />
然后,确定并关闭窗口。结果如图。
通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图六)" />
(点击查看原图)
二、用URL方式执行查询和存储过程;
至此,我们已经设置好SQL和IIS,下面开始精彩的访问历程。先在IE浏览器中键入以下地址:

http://172.24.2.98/northwind?sql=select+*+from+customers+for+xml(标准化越来越近了)+auto&root=root

得到结果如图所示。

通过HTTP访问sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台) 2000数据库(图七)" />
(点击查看原图)
其中,

“northwind”为虚拟路径名;

“select+*+from+customers”为SQL查询语句“Select * from customers”

“for xml(标准化越来越近了)”语句表示输出的数据格式为xml(标准化越来越近了)文档,而非标准数据行。

“root”参数表示为顶层元素。

RAW、AUTO和EXPLICIT三种xml(标准化越来越近了)模式分别为:

RAW在每条记录前加一个简单的标识,如“<rowCustomerID="ALFKI"…”

AUTO则会在每条记录前加入数据表的名称,如“<CustomersCustomerID="ALFKI"”

EXPLICIT则可用于定义xml(标准化越来越近了)的树形结构。

初试成功后,我们再尝试使用URL地址执行存储过程(Stored Procedure)。先在SQL Query Analyzer中新建一个名为CategoryInfo的存储过程;代码如下:

CREATE PROCEDURE CategoryInfo
AS
SELECT CategoryName, Description FROM Categories
FOR xml(标准化越来越近了) AUTO

通过地址

http://172.24.2.98/northwind?sql=execute+categoryinfo&root=root

即可执行存储过程。

三、访问xml(标准化越来越近了)模版文件
此外,网站开发人员还可以定义xml(标准化越来越近了)的模版,定义查询条件和结果输出格式:

如,在wwwroot\northwind\template目录下生成一个xml(标准化越来越近了)文档first.xml(标准化越来越近了),其中包含一个查询语句,代码如下:

<root xml(标准化越来越近了)ns:sql="urn:schemas-microsoft-com:xml(标准化越来越近了)-sql" >
 <sql:query>
  SELECT *
  FROM Customers AS Customer
  FOR xml(标准化越来越近了) auto
 </sql:query>
</root>

通过地址http://172.24.2.98/northwind/template/first.xml(标准化越来越近了)访问,得到结果。

结合Extensible Stylesheet Language (XSL)可以格式化查询结果,使报表更加美观。

通过以上介绍,你也许已经对SQL2000和xml(标准化越来越近了)有了初步的了解。仔细阅读SQL的帮助文件和MSDN.COM会对你深入掌握SQL2000有着更大的帮助。

Tags:通过 HTTP 访问

编辑录入:coldstar [复制链接] [打 印]
赞助商链接