使用HTTP访问SQLServer

来源:互联网 发布:lua 5.3 windows 安装 编辑:程序博客网 时间:2024/05/16 11:47
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

使用HTTP访问

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

SQLServerHTTP访问能力使您得以:直接在URL中指定SQL查询,例如:

HTTP://IISServer/nwind?sql=SELECT+*+FROM+Customers+FOR++AUTO&root=root
指定FORXML子句以XML文档而不是标准行集的形式返回结果。根参数可标识单一的顶层元素。

直接在URL中指定模板。模板是包含一个或多个SQL语句的有效的XML文档。模板使您得以将数据放在一起以形成有效的XML文档,但直接在URL中指定查询时不一定是这样。例如:

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中直接指定模板文件,例如:

HTTP://IISServer/nwind/TemplateVirtualName/templatefile.xml
在URL中,TemplateVirtualName是使用用于SQLServer的IIS虚拟目录管理实用工具创建的template类型的虚拟名称。

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

指定在带批注的XML数据简化(XDR)架构(也称为映射架构)上执行的XPath查询。从概念上讲,对映射架构编写XPath查询与使用CREATEVIEW语句创建视图并对视图编写SQL查询相似,例如:

HTTP://IISServer/nwind/SchemaVirtualName/schemafile.xml/Customer[@CustomerID="ALFKI"]
在这个URL中:

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

Customer[@CustomerID="ALFKI"]是在该URL中指定的schemafile.xml上执行的Xpath查询。直接在URL中指定数据库对象。可以将数据库对象(如表和视图)指定为URL的一部分,并对数据库对象指定Xpath查询,例如:

HTTP://IISServer/nwind/dbobjectVirtualName/XpathQuery
在这个URL中,dbobjectVirtualName是使用用于SQLServer的IIS虚拟目录管理实用工具创建的dbobject类型的虚拟名称。

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

XML文档和文档片段

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

HTTP://IISServer/VirtualRoot/TemplateVirutalName/MyTemplate.xml

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

<ROOTxmlns:sql="urn:schemas-microsoft-com:xml-sql"><sql:query>SELECT*FROMCustomersFORXMLAUTO</sql:query></ROOT>

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

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

HTTP://IISServer/VirtualRoot?sql=SELECT*FROMCustomersFORXMLAUTO?root=root1

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击