电脑技术学习

使用HTTP访问SQLServer

dn001
下面是个示例模板文档 (MyTemplate.xml):

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<sql:query>

SELECT; *

FROM;Customers

FOR XML AUTO

</sql:query>

</ROOT>


模板中的 <ROOT> 标记为结果 XML 文档提供了单个的顶层元素。

能够直接在 URL 中指定查询。在此例中,root 参数指定返回文档中的顶层元素:

http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO?root=root


假如在写上述查询时不使用 root 参数,将返回一个 XML 文档片段(即缺少单个顶层元素的 XML 文档)。 该片段没有标题信息。例如,下列 URL 将返回文档片段:

http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO

当请求一个 XML 文档时,将返回用以标识文档编码类型的字节顺序标记。字节顺序标记是用以标识 XML 文档编码类型的标准字节顺序。XML 分析器使用该字节顺序标记确定文档编码类型(如 Unicode)。例如,字节顺序标记"oxff, 0xfe"将文档标识为 Unicode。默认情况下,分析器假设 UTF-8 为文档编码类型。

当请求 XML 片段时将不返回字节顺序标记,因为字节顺序标记属于 XML 文档标

题,而 XML 片段中没有标题。

使用用于 SQL Server 的 IIS 虚拟目录管理实用工具
在使用 HTTP 访问 Microsoft? SQL Server? 2000 数据库之前,必须安装适当的虚拟目录。在运行 Microsoft Internet 信息服务 (IIS) 的电脑上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程式组中单击"在 IIS 中配置 SQL XML 支持")定义并注册新的虚拟目录,即所谓的虚拟根。该实用工具指示 IIS 在新的虚拟目录和 Microsoft SQL Server 实例之间创建关联。

必须将 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) 是模板文档。