当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:20:00  来源:本站整理

利用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 查询.
  • 直接在 URL 中指定数据库对象.

    可以将数据库对象(如表和视图)指定为 URL 的一部份,并对数据库对象指定 Xpath 查询,比方:-VaacP

    http://IISServer/nwind/dbobjectVirtualName/XpathQuery
    
    

    在这个 URL 中,dbobjectVirtualName 是利用用于 SQL Server 的 IIS 虚拟目录管理实用工具成立的 dbobject 范例的虚拟名称.-VaacP

    -VaacP

    利用HTTP拜候SQLServer

    阐明  当在 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 的一部份,必须成立 templateschemadbobject 范例的虚拟名称.将虚拟名称指定为 URL 的一部份,以便履行模板文件、对映射架构文件履行 XPath 查询或直接拜候数据库.-VaacP

在 URL 中指定的虚拟名称范例(templateschemadbobject)还用于决意在 URL 中指定的文件范例(模板文件或映射架构文件).比方,下面的 URL 利用模板拜候 SQL Server 数据库:-VaacP

http://IISServer/nwind/TemplateVirtualName/Template.xml

TemplateVirtualNametemplate 范例的虚拟名称,用于标识指定的文件 (Template.xml) 是模板文件.-VaacP

 

  以上是“利用HTTP拜候SQLServer[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用HTTP拜候SQLServer
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .