sql server 2008 调用webservice

转载 2012年03月22日 13:23:02

  需求:当表中insert数据后(数据由另一个数据库A同步产生),需要调用webservice,将返回结果更新或插入到表中,同步回数据库A中

  方法:使用触发器调用存储过程,在存储过程中直接调用webservice(下面的内容是在网上现有的方案基础上作了一些补充)

  步骤:1.更改全局配置sp_configure 'show advanced options', 1;GO RECONFIGURE;GO sp_configure 'Ole Automation Procedures', 1;GO RECONFIGURE;GO

  2.安装SoapToolkit(网上现有的方案大多没有提到这步)

  3.SQL直接调用webservice(略去触发器和存储过程)

  DECLARE @scid int,@rt int DECLARE @result nvarchar(4000)

  ——创建MSSOAP.SoapClient组件(如果安装的是SoapToolkit30,应该是MSSOAP.SoapClient30,否则是MSSOAP.SoapClient),存储到@object中EXEC @rt=sp_OACreate 'MSSOAP.SoapClient30',@scid out

  ——'http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl'为webservice地址——‘qqOnlineWebService’为webservice名称EXEC @rt = sp_OAMethod @scid, 'mssoapinit',null,'http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl','qqOnlineWebService'

  ——'qqCheckOnline'为webservice的一个方法,后面跟2个参数(输入参数:QQ号码 String,默认QQ号码:8698053.返回数据:String,Y = 在线;N = 离线;E = QQ号码错误;A = 商业用户验证失败;V = 免费用户超过数量)

  EXEC @rt = sp_OAMethod @scid, 'qqCheckOnline', @result OUT,N'8698053'

  IF @rt <> 0 BEGIN EXEC sp_OAGetErrorInfo @scid END ELSE BEGIN select @result END——释放掉@scid EXEC @rt = sp_OADestroy @scid GO

  注:这种方法适用webservice返回类型为字符串且长度不大于4000的类型,有一定的局限性

Sql Server2008——远程过程调用失败

今天正在桥机房,清理软件提醒垃圾太多并且电脑也特别卡,我就想着既然这样就清理一下得了,结果就是:No zuo No die,SQL server数据库连接不上了。不过从另一方面来说这也是一次学习的机会...
  • u013038643
  • u013038643
  • 2015年03月29日 15:37
  • 3942

php调用SQL SERVER 2008及以上版本的方法

php 5.3.27 访问 Sql2008 和 sql 2005    今天遇到php连接mssql问题,按照网上各种尝试,最后成功,再此记录下。由于 php 5.3以后就不支持mssql。要下载相...
  • baronyang
  • baronyang
  • 2015年08月05日 20:21
  • 5105

sql server 2008表值函数的使用

场景:输入片区号,查询该片区的所有用户最后一次的消费记录。 有两张表:用户信息、流水账。如果用传统方法查: 1.查询该地区所有的人。 2.循环查询出每个人最后一次的消费记录问题:数据连接次数=人数+1...
  • u012662357
  • u012662357
  • 2016年04月06日 17:34
  • 1211

webservice开发:Myeclipse里整合asix2和hibernate,并同时连sql server 2008 和 oracle 11g个人总结

这里有好几个恶心的地方: 1.首先,如果用sql server 2008 的话 ,最好不要使用microsoft提供的驱动,传说microsoft的驱动有bug,不能跟hibernate兼容,会报一个...
  • tengqiaoxiaojie
  • tengqiaoxiaojie
  • 2013年11月14日 17:03
  • 864

Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be

Sql server 2008 R2 配置管理工具服务显示远程过程调用失败:0x800706be
  • cz6622999
  • cz6622999
  • 2017年12月13日 19:30
  • 122

SQL Server 2008管理工具出现 远程过程调用失败0x800706be解决方法

问题由来 因为项目需求计算机装的 SQL Server 是使用 SQL Server 2008 Express 版本,而自从安装完 VS 2012 之后原本正常的 SQL Server 竟然立马...
  • sbt0198
  • sbt0198
  • 2015年04月28日 12:47
  • 593

SQL SERVER 2008存储过程生成编号,JDBC调用

USE [20150513GT] GO /****** Object: StoredProcedure [dbo].[PRO_AUTO_PROJECT_ORDERID] Script Date...
  • VB123hjp
  • VB123hjp
  • 2016年09月29日 15:14
  • 341

Microsoft SQL Server 2008 远程过程调用失败 0x800706be 的图文解决方

今天使用SQL2008的时候,发现无法使用.\SQLEXPRESS连接数据库,于是打开管理工具设置。可惜看到了一个错误提示,写着:远程过程调用失败 0x800706be!纳闷了,前两天还好好的啊,系统...
  • u013010416
  • u013010416
  • 2013年12月10日 19:27
  • 986

SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”【0x800706be】的解决办法

转载地址:
  • tsj11514oo
  • tsj11514oo
  • 2014年10月09日 19:54
  • 1007

Sql Server 2008远程过程调用失败

z今天SQL数据库登录不上了,然后想启动Sql实例,却发现如下问题(配置环境:win7旗舰版x64,SqlServer2008R2,同时安装VS2012):       ...
  • u013085795
  • u013085795
  • 2014年10月29日 18:07
  • 350
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql server 2008 调用webservice
举报原因:
原因补充:

(最多只允许输入30个字)