[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

SQL 2005中如何建立HTTP的端点

作者: echsys,  出处:blog, 责任编辑: 李书琴, 
2008-09-10 05:20
  SQL 2005提供了一个新的执行存储过程或者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 = " 
  xmlns:sql='http://schemas.microsoft.com/sqlserver/2004/SOAP'>
  
  
  " + strQuery + "
  
  
  ";
  objXmlHttp.send( strRequest );
  if( objXmlHttp.status == 200 )
  return objXmlHttp.responseXML.xml;

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

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅