通过HTTP访问SQL2000数据库

网络整理 - 07-27

  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”并映射至实际硬盘路径,结果见图。

  

 

  其中,

  “northwind”为虚拟路径名;

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

  “for XML”语句表示输出的数据格式为XML文档,而非标准数据行。

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

  RAW、AUTO和EXPLICIT三种XML模式分别为:

  RAW在每条记录前加一个简单的标识,如“

  AUTO则会在每条记录前加入数据表的名称,如“

  EXPLICIT则可用于定义XML的树形结构。

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

  CREATE PROCEDURE CategoryInfo

  AS

  SELECT CategoryName, Description FROM Categories

  FOR XML AUTO

  通过地址

  ?sql=execute+categoryinfo&root=root

  即可执行存储过程。

  三、访问XML模版文件

  此外,网站开发人员还可以定义XML的模版,定义查询条件和结果输出格式:

  如,在wwwroot\northwind\template目录下生成一个XML文档first.xml,其中包含一个查询语句,代码如下:

  

  

  SELECT *

  FROM Customers AS Customer

  FOR XML auto

  

  

  通过地址访问,得到结果。

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