SQL2005中的HTTP端点

sql2005

SQL2005提供了一个新的执行存储过程或者T-SQL的方法,它可以以WEB服务的方式发布到服务器上,而无须使用IIS
这个新特点通过HTTP API把HTTP端点暴露给用户,在WINXP SP2和WIN2003上被支持建立一个HTTP端点是非常简单的,如下

CREATE ENDPOINT MyEndpoint?
STATE = STARTED
AS HTTP (
  AUTHENTICATION = (INTEGRATED),
  PATH = '/sql/myendpoint',
  PORTS = (CLEAR) )
FOR SOAP (
  BATCHES = ENABLED,
  WSDL = DEFAULT
)
在上面的案例中我建立一个命名为MyEndpoint的端点,它在http://localhost/sql/myendpoint监听T-SQL语句,你可以使用下面URL测试它
 http://localhost/sql/myendpoint?wsdl.
上面这个URL还可以附加很丰富的参数,具体参见SQL帮助
下面这个例子显示如何通过JAVSCRIPT来调用端点执行T-SQL语句,如下
function SendBatchRequest( strServerName, strUrlPath, strQuery )
{
   var objXmlHttp = null;
   var strRequest = "";

   objXmlHttp = new ActiveXObject( "microsoft.xmlhttp" );
   objXmlHttp.open( "POST", "http://" + strServerName + strUrlPath, false );
   objXmlHttp.setrequestheader( "Content-Type", "text/xml" );
   objXmlHttp.setRequestHeader( "Host", strServerName );

   strRequest = "<SOAP-ENV:Envelope
                           xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'
                           xmlns:sql='http://schemas.microsoft.com/sqlserver/2004/SOAP'>
                              <SOAP-ENV:Body>
                                 <sql:sqlbatch>
                                    <sql:BatchCommands>" + strQuery + "</sql:BatchCommands>
                                 </sql:sqlbatch>
                              </SOAP-ENV:Body>
                        </SOAP-ENV:Envelope>";

   objXmlHttp.send( strRequest );

   if( objXmlHttp.status == 200 )
      return objXmlHttp.responseXML.xml;
   else
      return "";
}

var response = SendBatchRequest( 'localhost', '/sql/myendpoint', 'Select * from sys.http_endpoints' );

时间: 2024-09-28 01:30:54

SQL2005中的HTTP端点的相关文章

Sql2005中对XML类型字段的运用

sql2005|xml 在SQL2005中增加了xml类型数据.这样,我们可以将我们应用程序中的实体对象直接保存到数据库中.下次要取的时候就可以直接将XML反序列化成实体对象.对于数据量不是很大的情况下,可以考虑使用. select * from Employee where [content].exist('//Age[text()>9000]')=1 此SQL语句中带有xpath的查询,可以找出employee表中content为XML类型列中子节点>9000的所有记录 看一下,运用. u

SQL2005中SSIS的空目标适配器

sql2005 SQL2005中SSIS的空目标适配器 这个适配器使用非常简单且不用安装,主要用它来中止你的数据流,相当于空设备 添加适配器到工具栏 在工具栏中选择项1.在SSIS包中右键选择"Choose Items..." 2.定位并选择适配器在对话框中选择"SSIS Data Flow Items"栏,并选中它,单击OK 3. 现在你就可以在工具栏看到空适配器了 

在Sql2005中,向表中插入数据时遇到uniqueidentifier列,如何插入数据?

原文 http://blog.csdn.net/quou2002/article/details/596509 Sql2005中,提供了uniqueidentifier 数据类型.说白了,就是个GUID,这种类型开发时倒是很有必要的. 今天程序中遇到了这个问题:表里定义了一个uniqueidentifier 列,Asp.net程序需要向表中插入新的数据. Insert 语句由数据源控件自动生成:INSERT INTO [morning_Department] ([DepartmentId], [

在BYOD环境中 如何保护端点安全?

本文讲的是 :  在BYOD环境中 如何保护端点安全?  ,[IT168 评论]在企业端点领域涌现出很多新设备和平台,这可能让Wintel(由Microsoft Windows操作系统与Intel CPU组成的个人计算机)的霸主地位受到动摇,但对于企业来说,这种竞争可能意味着端点保护工作将变得更加简单. 在2013年Gartner安全和风险管理峰会上,Gartner研究副总裁Peter Firstbrook向与会者介绍了不断变化的端点安全形势.尽管75%的平板电脑和笔记本电脑都由消费者购买,但很

为什么用CLR写的过程在SQL2005中直接执行比用程序调用执行要慢很多?

问题描述 为什么用CLR写了一个过程在SQl2005中执行的时候速度会比在程序中直接访问数据要慢很多?过程里大楷包括的内容:这个过程的作用是读取SQL2005中的数据,然后再做一些条件检查.当这个过程在SQL2005中直接调用使用select语句,如果执行时间为100毫秒,则相同的该过程换成程序来写,在程序中执行的速度可能只有50毫秒.两个被执行的内容全部一样,唯一是运行环境不同,一个在SQL2005内部,一个在程序里. 解决方案 解决方案二:呵呵,不知道.好细心的人啊.呵呵,顶一下.

SQL2005中部署.net 3DES加密函数

SQL2005支持在SQL SERVER里部署.net应用程序了,那么以前一直写在.net里的一些运算如加密等已经完全可以移到sql里来进行了,而不需要再从程序中运算了,使数据库可以和程序相对独立开来,方便了不少. 前阵子,需要给数据加密,所以写了个3DES加密函数部署到SQL2005中,当然,现在秘钥也作为一个表存在在数据库中,至于这个密钥,以后可以考虑用usb-key使用rsa加密或者别的方式进行加密,以保证数据安全.现在先说怎么实现部署到sqlserver中的加密函数吧. 新建一个项目.V

关注SQL2005中SSIS中的并行执行属性

sql2005|执行 调整下面属性能影响在运行期间的并行性 1. MaxConcurrentExecutables 属性  这是包的属性,它定义有多少个任务能被同时运行  如果值为-1的话就意味着同时可以运行的任务数为当前处理器的个数加上2  当超线程被打开的时候,它是逻辑处理器的个数  但在我的一个小的测试中,我打开或者关闭超线程,并没有明显的差异(小于5%),我非常乐意看到你有更好的看法 2. EngineThreads 属性  这是数据流任务的一个属性,它定义有多少个工作线程在引擎调度时建

了解SQL2005中的SMO对象使用(-)

sql2005|对象 1.简介:  在这系列文章中,我将示范如何使用SMO(SQL Management Objects)来实现多种通用的数据库管理任务,比如:备份.恢复.索引处理.完整性检查等  在此文中我们将集中如何编译一个SMO应用程序和如何使用SMO连接到SQL SERVER并获得一些服务器信息,示例代码将分别使用VB.NET.C#和VBSCRIPT.如果你没有使用Visual Studio 2005,我将介绍如何用命令行进行编译操作  2.编译一个SMO应用程序:  要使用SMO对象在

SQL2005中的DATENAME函数

sql2005|函数     DATENAME函数的主要用处是从日期中提取指定部分数据,比如我们想得到当前日期中的年份,月份等信息,就可以使用该函数.返回类型是nvarchar.         具体的语法如下:          DATENAME(param,date);         param是指定要返回日期部分的参数,包括下面几种: 日期部分 缩写 year   yy, yyyy quarter  qq, q month mm, m dayofyear dy, y day dd, d