使用用于 SQL Server 的 IIS 虚拟目录管理实用工具
在使用 HTTP 访问 Microsoft? SQL Server? 2000 数据库之前,必须安装适当的虚拟目录。在运行 Microsoft Internet 信息服务 (IIS) 的
计算机上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义
并注册新的虚拟目录,即所谓的虚拟根。该实用工具指示 IIS 在新的虚拟目录和 Microsoft SQL Server 实例之间创建关联。有关该实用工具
用户界面的信息,请参见 IIS 虚拟目录管理实用工具。
必须将 IIS 服务器和虚拟目录的名称指定为 URL 的一部分。虚拟目录(包括登录、密码和访问权限)中的信息用于建立与特定数据库的连接
并执行查询。
可以指定 URL:
直接访问数据库对象,例如表。
在这种情况下,URL 将包括 dbobject 类型的虚拟名称。
执行模板文件。
模板是由一个或多个 SQL 语句组成的有效的 XML 文档。在 URL 中指定模板文件时,将执行存储在模板文件中的 SQL 命令。可以直接在 URL
中指定 SQL 查询,但考虑到安全性,不建议这样做。
执行 XPath 查询。
对指定作为 URL 一部分的带批注的映射架构文件执行 XPath 查询。
虚拟名
若要使模板文件、映射架构文件或数据库对象(如表或视图)成为 URL 的一部分,必须创建 template、schema 和 dbobject 类型的虚拟名称
。将虚拟名称指定为 URL 的一部分,以便执行模板文件、对映射架构文件执行 XPath 查询或直接访问数据库。
在 URL 中指定的虚拟名称类型(template、schema、dbobject)还用于决定在 URL 中指定的文件类型(模板文件或映射架构文件)。例如,
下面的 URL 使用模板访问 SQL Server 数据库:
http://IISServer/nwind/TemplateVirtualName/Template.xml
TemplateVirtualName 是 template 类型的虚拟名称,用于标识指定的文件 (Template.xml) 是模板文件。
创建 nwind 虚拟目录
新增信息 - SQL Server 2000 SP3。
下例创建 nwind 虚拟目录。在大多数用于说明 Microsoft? SQL Server? 2000 的 URL 访问的示例中,都使用 nwind 虚拟目录。
在创建 nwind 虚拟目录之前,需要一个与将要创建的虚拟目录相关联的物理目录(例如,C:\Inetpub\Wwwroot\nwind,此处 nwind 是与将要
在以下过程中创建的 nwind 虚拟目录相关联的物理目录)。
还需要在与该虚拟目录相关联的物理目录下创建两个子目录(例如,C:\Inetpub\Wwwroot\nwind\template 和
C:\Inetpub\Wwwroot\nwind\schema)。这些是与 template 和 schema 类型的虚拟名称相关联的目录,这两种类型的目录是作为创建 nwind
虚拟目录的一部分而创建的。
创建 nwind 虚拟目录
在 Microsoft SQL Server 程序组中,单击"在 IIS 中配置 SQL XML 支持"。
展开服务器,然后单击想要的 Web 站点。
在"操作"菜单上指向"新建"子菜单,然后单击"虚拟目录"命令。新虚拟目录的属性页将显示在屏幕上。
在"新的虚拟目录属性"对话框的"常规"选项卡上,输入虚拟目录的名称。对于本例,键入 nwind 和物理目录路径(例如
C:\Inetpub\Wwwroot\nwind,假设在 C:\Inetpub\Wwwroot 目录中已创建了 nwind 子目录)。或者可以使用"浏览"按钮选择目录。
在"安全"选项卡上,选择"SQL Server"和"使用 Windows 集成身份验证"。
在"数据源"选项卡上,在"SQL Server"框中输入服务器的名称,例如 (local);如果在指定的计算机上安装了多个实例,则输入 SQL Server
2000 实例的名称(可选)。在"数据库"框中,输入 Northwind 作为默认数据库的名称。
在"设置"选项卡上,选择"允许 URL 查询"、"允许模板查询"、"允许 XPath"和"允许 POST"选项。
在"虚拟名称"选项卡上,单击"新建"按钮以创建模板类型的虚拟名称。
在"虚拟名称配置"对话框中:
在"虚拟名称"框内输入
template(可以是用户指定的任意名称)。在"类型"列表中,选择"模板"。输入路径(例如,C:\Inetpub\Wwwroot\nwind\template,假设与虚
拟目录相关联的物理目录下有一个子目录 template,但并不检查该目录是否存在)。单击"保存"按钮保存虚拟名称。
在"虚拟名称"选项卡上,单击"新建"按钮以创建架构类型的虚拟名称。
在"虚拟名称"框内输入
schema(可以是用户指定的任意名称)。在"类型"列表中,选择"架构"。输入路径(例如,C:\Inetpub\Wwwroot\nwind\schema,假设与虚拟目
录相关联的物理目录下有一个子目录 schema)。单击"保存"按钮保存虚拟名称。
在"虚拟名称"选项卡上,单击"新建"按钮以创建模板和架构类型的虚拟名称。
在"虚拟名称"框内输入 dbobject(可以是用户指定的任意名称)。在"类型"列表中,选择 dbobject。单击"保存"按钮保存虚拟名称。
单击"确定"按钮保存设置。
这就创建了虚拟目录 nwind。默认情况下,使用该虚拟目录对 Northwind 数据库执行指定的查询。
若要测试虚拟目录,请在浏览器中键入:/nwind?sql=SELECT">http://<IISServer>/nwind?sql=SELECT * FROM Employees FOR XML AUTO&root=root 并按 ENTER 键
。
使用 HTTP 访问 SQL Server
新增信息 - SQL Server 2000 SP3。
可以使用 HTTP 访问 Microsoft? SQL Server? 2000。有关 SQL ISAPI 扩展所支持的 URL 语法的更多信息,请参见 URL Access。在可以使用
HTTP 指定查询前,必须先用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建一个虚拟根。有关更多信息,请参见创建 nwind 虚拟目录。
SQL Server 的 HTTP 访问能力使您得以:
直接在 URL 中指定 SQL 查询,例如:
http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root
指定 FOR XML 子句以 XML 文档而不是标准行集的形式返回结果。根参数可标识单一的顶层元素。
直接在 URL 中指定模板。
模板是包含一个或多个 SQL 语句的有效的 X