- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0 |
了解如何借助SQL Server 2005(以前称为“Yukon”)中的SOAP/HTTP来设置和使用XML Web Services。文中还包含了相关的示例。为了从本文最大地受益,应该对Web服务技术具有基本的了解,包括HTTP、SOAP和WSDL。它包含的具体内容有:要求、HTTP终结点、创建HTTP终结点、身份验证与安全、WSDL、SOAP RPC:方法调用、批处理:即席查询和管理。
简介
Microsoft® SQL Server™ 2005 提供了一个标准机制,用于使用 SOAP 通过 HTTP 访问数据库引擎。通过使用此机制,可将 SOAP/HTTP 请求发送到 SQL Server 以执行以下内容:
◆Transact-SQL 批处理语句,带参数或不带参数。
◆存储过程,扩展存储过程以及用户定义的标量值函数。
在 SQL Server 2005 之前,可用于连接 SQL Server 的唯一机制就是通过名为 Tabular Data Stream (TDS) 的自定义二进制协议。利用 SOAP/HTTP 访问,我们提供了一种开放的且具有相关文档的协议,可以作为后备手段,以连接到 SQL Server。提供 SOAP/HTTP 访问,可以使更多类型的客户端访问 SQL Server,其中包括“无痕迹安装”客户端,因为已不再需要在客户端设备上安装 Microsoft 数据访问组件 (MDAC) 栈以尝试连接到 SQL Server。它方便了与各种平台上的 .NET、SOAP 工具包、Perl 以及更多功能的互操作。由于 SOAP/HTTP 访问机制基于各种应用广泛的技术(如 XML 和 HTTP),它能内在地促进异构环境中与 SQL Server 的互操作性及对 SQL Server 的访问。任何能够分析 XML 和提交 HTTP 请求的设备现在都能够访问 SQL Server。
很多企业都采用异构的环境,其中运行于 UNIX 和 Linux 平台上的应用程序可能需要连接到 SQL Server。在以前,此类用户唯一可用的解决方案就是使用 JDBC 或 ODBC 驱动程序。SOAP/HTTP 访问现在提供另一个低成本的后备方法。对于 DBA 使用 Perl 编写了运行于 UNIX 上的脚本以管理 SQL Server 资源的场景,这非常有用。在开发使用智能集成开发环境 (IDE)(其中内置了 SOAP/HTTP 支持,如 Microsoft Visual Studio® .NET 或 Jbuilder 就属于此类 IDE)开发客户端应用程序时,这也十分有用。这些 IDE 将生成特定的代理代码,这些代理代码对 SQL Server 通信进行抽象,并提供客户端应用程序可以使用的对象。使用 SOAP/HTTP 还实现了随时随地对 SQL Server 的访问,而这使得开发用于移动设备或偶尔连接的设备的应用程序更为容易。一旦建立了连接,并且服务器已开始处理请求,则可以使用 TDS 所基于的客户端上的现有机制(如使用 SqlClient、ODBC 和 OLEDB)对此进行监视。
要求
SQL Server 2005 本机 Web 服务要求使用 Microsoft Windows Server™ 2003 作为操作系统,因为它们依赖于此版本提供的内核模式 http 驱动程序 http.sys。由于 SQL Server 利用内核模式 http.sys 驱动程序,所以不必安装 IIS 以在 SQL Server 外公开 Web 服务,这就简化了管理。
应该根据应用程序要求决定是否安装 IIS。
例如,特定的应用程序可能从使用显式中间层而受益。在这种情况下,IIS 将很有用。
HTTP 终结点
为了将 SQL Server 设置为可以本机侦听 HTTP SOAP 请求的 Web 服务,需要创建 HTTP 终结点并定义该终结点公开的方法。当创建 HTTP 终结点时,必须使用唯一的 URL 进行创建,将使用此 URL 侦听传入的 HTTP 请求。例如,如果您使用 URL“http://servername/sql”创建一个终结点,发送到 http://servername/sql 的 SOAP 请求将由 http.sys. 拾取,然后将此 SOAP 请求路由到承载与该 URL 关联的终结点的 SQL Server 实例。请求将从此处传递到 SQL Server 内的 SOAP 处理层。
SQL Server 实例可以具有多个终结点,每个终结点都可以将任意数量的存储过程(通过使用 Transact-SQL 或 CLR 实现)公开为终结点上的 WebMethod,且可以通过 SOAP 远程过程调用 (RPC) 而调用。WebMethod 可以具有与所公开的实际存储过程不同的名称。WebMethod 名称就是在 WSDL 中作为操作名称向用户显示的名称。
注意 务必指出,终结点中的 WebMethod 子句是特定于 SQL Server 2005 的,与 ASMX WebMethod 属性无关。
用户可以对终结点执行 AdHoc Transact-SQL 语句。这可以通过使用数据定义语言 (DDL) 中的一个可选子句在终结点上允许进行批处理而实现。允许进行批处理将隐式地将名为“sqlbatch”的 WebMethod 公开给用户。在接下来的各节中将进一步对这些概念进行说明。
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |