利用HTTP拜候SQLServer[MSSQL防范]
本文“利用HTTP拜候SQLServer[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
利用 HTTP 拜候 sql server
可以利用 HTTP 拜候 Microsoft® SQL Server™ 2000.在可以利用 HTTP 指定查询前,必须先用用于 SQL Server 的 IIS 虚拟目录管理实用工具成立一个虚拟根.-VaacP
SQL Server 的 HTTP 拜候本领使您得以:
- 直接在 URL 中指定 SQL 查询,比方:
http://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root
指定 FOR XML 子句以 XML 文档而不是尺度行集的情势返回后果.根参数可标识单一的顶层元素.-VaacP
- 直接在 URL 中指定模板.
模板是包含一个或多个 SQL 语句的有效的 XML 文档.模板使您得以将数据放在一同以形成有效的 XML 文档,但直接在 URL 中指定查询时不一定是这样.比方:-VaacP
http://IISServer/nwind?template=<ROOT+xmlns:sql="urn:schemas-microsoft-com:xml-sql"><sql:query>SELECT+*+FROM+Customers+FOR+XML+AUTO</sql:query></ROOT>
- 在 URL 中指定模板文件.
在 URL 中写入长 SQL 查询会很麻烦.此外,浏览器对在 URL 中可以输入的文本量大概有限制.若要避免这些问题,可以编写模板并将其存储在文件中.模板是包含一个或多个 SQL 语句和 XPath 查询的有效的 XML 文档.可以在 URL 中直接指定模板文件,比方:-VaacP
http://IISServer/nwind/TemplateVirtualName/templatefile.xml
在 URL 中,TemplateVirtualName 是利用用于 SQL Server 的 IIS 虚拟目录管理实用工具成立的 template 范例的虚拟名称.-VaacP
模板文件还删除来自用户的数据库查询的具体信息以加强安全性.通过将模板文件存储在注册数据库时所在的虚拟根目录(或其子目录)中,删除虚拟根上的 URL 查询处理服务并只答应 SQL Server XML ISAPI 处理文件及返回后果集,从而加强了安全性.-VaacP
- 指定在带批注的 XML 数据简化 (XDR) 架构(也称为映射架构)上履行的 XPath 查询.
从概念上讲,对映射架构编写 XPath 查询与利用 CREATE VIEW 语句成立视图并对视图编写 SQL 查询类似,比方:-VaacP
http://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@Customer]
在这个 URL 中: -VaacP
- SchemaVirtualName 是利用用于 SQL Server 的 IIS 虚拟目录管理实用工具成立的 schema 范例的虚拟名称.
- Customer[@Customer] 是在该 URL 中指定的 schemafile.xml 上履行的 Xpath 查询.
- SchemaVirtualName 是利用用于 SQL Server 的 IIS 虚拟目录管理实用工具成立的 schema 范例的虚拟名称.
- 直接在 URL 中指定数据库对象.
可以将数据库对象(如表和视图)指定为 URL 的一部份,并对数据库对象指定 Xpath 查询,比方:-VaacP
http://IISServer/nwind/dbobjectVirtualName/XpathQuery
在这个 URL 中,dbobjectVirtualName 是利用用于 SQL Server 的 IIS 虚拟目录管理实用工具成立的 dbobject 范例的虚拟名称.-VaacP
-VaacP
阐明 当在 URL 中履行需求资源(如内存)的操作(成立暂时表和暂时存储历程、声明游标、履行sp_xml_preparedocument 等等)时,必须履行得当的呼应号令(如 DROP TABLE、DROP PROCEDURE、DEALLOCATE 游标或 EXECUTE sp_xml_removedocument)以释放资源.-VaacP
XML 文档和文档片段
当用 root 参数履行模板或查询时,后果是有单个顶层元素的完好 XML 文档.比方,下列 URL 履行模板:-VaacP
http://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml
下面是一个示例模板文件 (MyTemplate.xml):-VaacP
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT *
FROM Customers
FOR XML AUTO
</sql:query>
</ROOT>
模板中的 <ROOT> 标志为后果 XML 文档供应了单个的顶层元素.-VaacP
可以直接在 URL 中指定查询.在此例中,root 参数指定返回文档中的顶层元素: -VaacP
http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO?root=root
假如在写上述查询时不利用 root 参数,将返回一个 XML 文档片段(即贫乏单个顶层元素的 XML 文档). 该片段没有标题信息.比方,下列 URL 将返回文档片段:-VaacP
http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO
当恳求一个 XML 文档时,将返回用以标识文档编码范例的字节次序标志.字节次序标志是用以标识 XML 文档编码范例的尺度字节次序.XML 解析器利用该字节次序标志肯定文档编码范例(如 Unicode).比方,字节次序标志"oxff, 0xfe"将文档标识为 Unicode.默许情形下,解析器假定 UTF-8 为文档编码范例. -VaacP
当恳求 XML 片段时将不返回字节次序标志,因为字节次序标志属于 XML 文档标-VaacP
题,而 XML 片段中没有标题.-VaacP
利用用于 SQL Server 的 IIS 虚拟目录管理实用工具
在利用 HTTP 拜候 Microsoft® SQL Server™ 2000 数据库之前,必须安装得当的虚拟目录.在运行 Microsoft Internet 信息服务 (IIS) 的计算机上,利用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义并注册新的虚拟目录,即所谓的虚拟根.该实用工具指导 IIS 在新的虚拟目录和 Microsoft SQL Server 实例之间成立关联.-VaacP
必须将 IIS 服务器和虚拟目录的名称指定为 URL 的一部份.虚拟目录(包含登录、密码和拜候权限)中的信息用于成立与特定数据库的衔接并履行查询.-VaacP
可以指定 URL:
- 直接拜候数据库对象,比方表.
在这种情形下,URL 将包含 dbobject 范例的虚拟名称.-VaacP
- 履行模板文件.
模板是由一个或多个 SQL 语句构成的有效的 XML 文档.在 URL 中指定模板文件时,将履行存储在模板文件中的 SQL 号令.可以直接在 URL 中指定 SQL 查询,但考虑到安全性,不倡议这样做.-VaacP
- 履行 XPath 查询.
对指定作为 URL 一部份的带批注的映射架构文件履行 XPath 查询.-VaacP
虚拟名
若要使模板文件、映射架构文件或数据库对象(如表或视图)成为 URL 的一部份,必须成立 template、schema 和 dbobject 范例的虚拟名称.将虚拟名称指定为 URL 的一部份,以便履行模板文件、对映射架构文件履行 XPath 查询或直接拜候数据库.-VaacP
在 URL 中指定的虚拟名称范例(template、schema、dbobject)还用于决意在 URL 中指定的文件范例(模板文件或映射架构文件).比方,下面的 URL 利用模板拜候 SQL Server 数据库:-VaacP
http://IISServer/nwind/TemplateVirtualName/Template.xml
TemplateVirtualName 是 template 范例的虚拟名称,用于标识指定的文件 (Template.xml) 是模板文件.-VaacP
以上是“利用HTTP拜候SQLServer[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:若何查出前台正在发出的sql语句?
- ·下一篇文章:sql
- ·中查找“利用HTTP拜候SQLServer”更多相关内容
- ·中查找“利用HTTP拜候SQLServer”更多相关内容