如何使用HTTP访问SQLServer

  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 游标或 EXECUTE sp_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 XML AUTO?root=root

  如果在写上述查询时不使用 root 参数,将返回一个 XML 文档片段(即缺少单个顶层元素的 XML 文档)。 该片段没有标题信息。例如,下列 URL 将返回文档片段:http://IISServer/VirtualRoot?sql=SELECT * FROM Customers FOR XML AUTO

  当请求一个 XML 文档时,将返回用以标识文档编码类型的字节顺序标记。字节顺序标记是用以标识 XML 文档编码类型的标准字节顺序。XML 分析器使用该字节顺序标记确定文档编码类型(如 Unicode)。例如,字节顺序标记"oxff, 0xfe"将文档标识为 Unicode。默认情况下,分析器假设 UTF-8 为文档编码类型。

  当请求 XML 片段时将不返回字节顺序标记,因为字节顺序标记属于 XML 文档标

  题,而 XML 片段中没有标题。

  sql_server_utility>使用用于 SQL Server 的 IIS 虚拟目录管理实用工具

  在使用 HTTP 访问 Microsoft SQL Server 2000 数据库之前,必须安装适当的虚拟目录。在运行 Microsoft Internet 信息服务 (IIS) 的计算机上,使用用于 SQL Server 的 IIS 虚拟目录管理实用工具(在"SQL Server 工具"程序组中单击"在 IIS 中配置 SQL XML 支持")定义并注册新的虚拟目录,即所谓的虚拟根。该实用工具指示 IIS 在新的虚拟目录和 Microsoft SQL Server 实例之间创建关联。

  必须将 IIS 服务器和虚拟目录的名称指定为 URL 的一部分。虚拟目录(包括登录、密码和访问权限)中的信息用于建立与特定数据库的连接并执行查询。

  可以指定 URL:

  直接访问数据库对象,例如表。

  在这种情况下,URL 将包括 dbobject 类型的虚拟名称。

  执行模板文件。

  模板是由一个或多个 SQL 语句组成的有效的 XML 文档。在 URL 中指定模板文件时,将执行存储在模板文件中的 SQL 命令。可以直接在 URL 中指定 SQL 查询,但考虑到安全性,不建议这样做。

  执行 XPath 查询。

  对指定作为 URL 一部分的带批注的映射架构文件执行 XPath 查询。

  虚拟名

  若要使模板文件、映射架构文件或数据库对象(如表或视图)成为 URL 的一部分,必须创建 template、schema 和 dbobject 类型的虚拟名称。将虚拟名称指定为 URL 的一部分,以便执行模板文件、对映射架构文件执行 XPath 查询或直接访问数据库。

  在 URL 中指定的虚拟名称类型(template、schema、dbobject)还用于决定在 URL 中指定的文件类型(模板文件或映射架构文件)。例如,下面的 URL 使用模板访问 SQL Server 数据库:http://IISServer/nwind/TemplateVirtualName/Template.xml

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

  TemplateVirtualName 是 template 类型的虚拟名称,用于标识指定的文件 (Template.xml) 是模板文件。

  sql_server_utility>

时间: 2024-11-02 02:32:31

如何使用HTTP访问SQLServer的相关文章

C#访问SqlServer设置链接超时的方法

  本文实例讲述了C#访问SqlServer设置链接超时的方法.分享给大家供大家参考.具体实现方法如下: 下面这段代码设置超时时间为60秒,默认为30秒 ? 1 2 3 4 5 6 using (connection) { SqlCommand sqlcommand = connection.CreateCommand(); sqlcommand.CommandTimeout = 60; //默认时间为 30 秒 sqlcommand.CommandText = sqlText; ... 希望本

Windows和Linux下使用Python访问SqlServer的方法介绍_python

经常用Python写demo来验证方案的可行性,最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 + Sqlserver 2008 1.下载并安装pyodbc 下载地址:http://code.google.com/p/pyodbc/downloads/list 2.访问SqlServer 复制代码 代码如下: >>> import pyodbc >>>cnxn = p

python访问sqlserver示例_python

最近遇到了Python访问SqlServer的问题,这里总结下. 一.Windows下配置Python访问Sqlserver 环境:Windows 7 + Sqlserver 2008 1.下载并安装pyodbc 下载地址:http://code.google.com/p/pyodbc/downloads/list 2.访问SqlServer 复制代码 代码如下: >>> import pyodbc>>>cnxn = pyodbc.connect('DRIVER={SQ

access如何访问sqlserver数据

问题描述 请CSDN上的大哥大姐帮忙解决问题背景:有主站点和分站点,彼此相互独立,主站点是用ASP.NET建立,数据库为sqlserver2005,分站点使用ASP建立,数据库为access,主站点上有分站点的链接,两个站点有部分功能是类似的,现在要求当用户访问分站点时,可以自动从主站点提取类似的数据在分站点显示,请问如何能实现呢?请大家帮忙 解决方案 解决方案二:ASP一样可以用ODBC或COM等接到MSSQL啊.解决方案三:通过webrequest去主站数据或asp访问sqlserver数据

PHP利用COM对象访问SQLServer、Access_php基础

PHP4.0.6以上可以在 Win32 平台中访问 COM 和 DCOM 对象.这里借用ASP思想访问一下SQLServer.当然你也可以用mssql系列函数.如果是一个ASP Coder,你会觉得下面代码非常眼熟,习惯----无他,但PHP强尔~_~:<?php//Author:    erquan//Date:        2003-3-4//City:郑州     $dbConn=new COM ("ADODB.Connection") or die("创建CO

关于windows服务访问SQLSERVER(SP3补丁。。没有1433端口,通过管道流协议)数据库的问题

问题描述 用java程序能够访问(内网的2台机器)将程序注册成服务(通过javaServicewrapper)老是提示未于可信任SQLSERVER建立连接希望:1.不能打补丁...这种情况太普遍...泼出去的水没有办法一滴一滴的打补丁2.局域网内的windows登录,这个也不太现实,有的没有局域网希望高手解决

使用groovy访问SQLServer

import java.sql.Connection import java.sql.DriverManager import javax.sql.DataSource import groovy.sql.Sql def cli = new CliBuilder( usage: 'groovy queryMSSQL.groovy -h -s sqlserverhost [-P port] -u userid -p password -v value -t textfile queryfile [

C#访问SQLServer增删改查代码实例_C#教程

一个专门实现访问sql server数据库增删改查的操作代码,分享给大家,具体内容如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data; usi

Java 实现连接sql server 2000(JDBC数据库访问例子)

server|访问|数据|数据库 刘金龙 04041222 ljlsunny@vip.sina.com   第一种:通过ODBC连接数据库 JAVA语言的跨平台的工作能力(Write Once ,Run Anywhere).优秀的图像处理能力(我相信现在没有那种语言可以超过JAVA在网络上的图形处理能力).网络通信功能.通过JDBC数据库访问技术等等,让我们谁都不可否认JAVA语言是SUN公司对于计算机界的一个巨大的贡献.笔者可以描述这样一个场景:有一天你上网完全可以不用IE 或者NETSCAP