首页 > 数据库 > SQL Server > 正文

通过HTTP访问SQL Server 2000数据库

2024-08-31 00:48:45
字体:
来源:转载
供稿:网友
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”并映射至实际硬盘路径,结果见图。


(2)在“security”页中,选择相应的登陆帐号和口令。本例中使用系统帐号sa,结果见图。

(3)在“data source”页中,选择sql server名称或ip地址,并选择数据库,结果见图。

(4)在“settings”页中,分别选中“允许url查询”、“允许模版查询”、“允许xpath”和“允许post”,结果见图。

(5)在“virtual names”页中,分别定义template、schema和dbobject,并指定实际硬盘路径,结果见图。

然后,确定并关闭窗口。结果如图。

二、用url方式执行查询和存储过程;
至此,我们已经设置好sql和iis,下面开始精彩的访问历程。先在ie浏览器中键入以下地址:

http://172.24.2.98/northwind?sql=select+*+from+customers+for+xml+auto&root=root

得到结果如图所示。


其中,

“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 xmlns: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有着更大的帮助。




发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表