如何使用HTTP访问SQLServer

  次阅读 作者:智能小宝 来源:互联网 2016-02-16 10:26 我要评论(0)

sql_server_using_url>使用 HTTP 访问 SQL Server

可以使用 HTTP 访问 Microsoft SQL Server 2000。在可以使用 HTTP 指定查询前,必须先用用于 SQL Server的 IIS 虚拟目录管理实用工具创建一个虚拟根。

SQL Server 的 HTTP 访问能力使您得以:

直接在 URL 中指定 SQL 查询,例如:target=_blank>http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root

指定 FOR XML 子句以 XML 文档而不是标准行集的形式返回结果。根参数可标识单一的顶层元素。

直接在 URL 中指定模板。

模板是包含一个或多个 SQL 语句的有效的 XML 文档。模板使您得以将数据放在一起以形成有效的 XML 文档,但直接在 URL中指定查询时不一定是这样。例如:target=_blank>http://IISServer/nwind?template=SELECT+*+FROM+Customers+FOR+XML+AUTO

在 URL 中指定模板文件。

在 URL 中写入长 SQL 查询会很麻烦。此外,浏览器对在 URL中可以输入的文本量可能有限制。若要避免这些问题,可以编写模板并将其存储在文件中。模板是包含一个或多个 SQL 语句和 XPath 查询的有效的 XML文档。可以在 URL中直接指定模板文件,例如:http://IISServer/nwind/TemplateVirtualName/templatefile.xml

target=_blank>http://IISServer/nwind/TemplateVirtualName/templatefile.xml">http://IISServer/nwind/TemplateVirtualName/templatefile.xml

在 URL 中,TemplateVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的 template类型的虚拟名称。

模板文件还删除来自用户的数据库查询的详细信息以增强安全性。通过将模板文件存储在注册数据库时所在的虚拟根目录(或其子目录)中,删除虚拟根上的 URL查询处理服务并只允许 SQL Server XML ISAPI 处理文件及返回结果集,从而加强了安全性。

指定在带批注的 XML 数据简化 (XDR) 架构(也称为映射架构)上执行的 XPath 查询。

从概念上讲,对映射架构编写 XPath 查询与使用 CREATE VIEW 语句创建视图并对视图编写 SQL查询相似,例如:http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]

target=_blank>http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]">http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]

在这个 URL 中:

SchemaVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的 schema 类型的虚拟名称。

Customer@CustomerID="ALFKI"] 是在该 URL 中指定的 schemafile.xml 上执行的 Xpath 查询。

直接在 URL 中指定数据库对象。

可以将数据库对象指定为 URL 的一部分,并对数据库对象指定 Xpath 查询,例如:target=_blank>http://IISServer/nwind/dbobjectVirtualName/XpathQuery

在这个 URL 中,dbobjectVirtualName 是使用用于 SQL Server 的 IIS 虚拟目录管理实用工具创建的 dbobject类型的虚拟名称。

说明当在 URL 中执行需要资源(如内存)的操作(创建临时表和临时存储过程、声明游标、执行sp_xml_preparedocument等等)时,必须执行适当的相应命令(如 DROP TABLE、DROP PROCEDURE、DEALLOCATE 游标或 EXECUTEsp_xml_removedocument)以释放资源。

XML 文档和文档片段

当用 root 参数执行模板或查询时,结果是有单个顶层元素的完整 XML 文档。例如,下列 URL执行模板:http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml

target=_blank>http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml">http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml

下面是一个示例模板文件 (MyTemplate.xml):

SELECT *

FROM Customers

FOR XML AUTO

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

可以直接在 URL 中指定查询。在此例中,root 参数指定返回文档中的顶层元素:http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XMLAUTO?root=root

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...