使用HTTP访问SQL Server
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 语句的有效的 XML 文档。模板使您得以将数据放在一
URL 中指定查询时不一定是这样。例如:
http://IISServer/nwind?template=
可以将数据库对象(如表和视图)指定为 URL 的一部分,并对数据库对象指定
http://IISServer/nwind/dbobjectVirtualName/XpathQuery
在这个 URL 中,dbobjectVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录
虚拟名称。
说明 当在 URL 中执行需要资源(如内存)的操作(创建临时表和临时存储过程、
sp_xml_preparedocument 等等)时,必须执行适当的相应命令(如 DROP TABLE、
EXECUTE sp_xml_removedocument)以释放资源。
XML 文档和文档片段
当用 root 参数执行模板或查询时,结果是有单个顶层元素的完整 XML 文档。例
http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml
下面是一个示例模板文件 (MyTemplate.xml):
SELECT *
FROM Customers
FOR XML AUTO
模板中的
可以直接在 URL 中指定查询。在此例中,root 参数指定返回文档中的顶层元素:
http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML
如果在写上述查询时不使用 root 参数,将返回一个 XML 文档片段(即缺少单个
题信息。例如,下列 URL 将返回文档片段:
http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO
当请求一个 XML 文档时,将返回用以标识文档编码类型的字节顺序标记。字节顺序
标准字节顺序。XML 分析器使用该字节顺序标记确定文档编码类型(如 Unicode)
文档标识为 Unicode。默认情况下,分析器假设 UTF-8 为文档编码类型。
当请求 XML 片段时将不返回字节顺序标记,因为字节顺序标记属于 XML 文档标题
,而 XML 片段中没有标题。