harithchen 2019-04-26 12:21 采纳率: 0%
浏览 471

SQL如何使用soap访问webservice?

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

--创建MSSOAP.SoapClient组件(如果安装的是SoapToolkit30,应该是MSSOAP.SoapClient30,否则是MSSOAP.SoapClient),存储到@object中
--EXEC @rt=sp_OACreate '{7F017F97-9257-11D5-87EA-00B0D0BE6479}',@scid out
EXEC @rt=sp_OACreate 'MSSOAP.SoapClient30',@scid out

select @rt 'rt1',@scid 'scid'
总是创建不成功,返回
(1 行受影响)
OLE Automation Error Information
HRESULT: 0x80040154
Source: ODSOLE Extended Procedure
Description: 没有注册类
图片说明
图片说明

WIN10 64位系统,SQL SERVER 2008 R2,soapclient3.0。
请教大神如何解决。

  • 写回答

1条回答

  • 憧憬blog 2023-03-15 07:42
    关注

    您的问题是关于如何在SQL中使用SOAP访问Web服务的。经过您提供的代码和信息,我发现问题可能出在组件的创建上。以下是可能的解决方案:

    1. 检查您的SQL SERVER是否已经安装了SoapToolkit30。如果没有安装,请先下载安装。

    2. 如果已经安装了SoapToolkit30,请在创建组件时将组件名称更改为'MSSOAP.SoapClient'而不是'MSSOAP.SoapClient30'。

    3. 检查您是否具有足够的权限,在SQL SERVER服务运行的帐户中尝试运行此代码。

    4. 如果组件还是无法创建成功,请尝试重新注册COM组件。您可以按照以下步骤操作:

      a. 打开命令提示符窗口(管理员身份)。

      b. 输入 'regsvr32 MSSOAP.dll'(如果您使用的是SoapToolkit30,则为'regsvr32 MSSOAP30.dll'),然后按Enter键。

      c. 如果成功注册,则会显示“DllRegisterServer in MSSOAP.dll succeeded”。否则,请检查COM组件的路径和名称是否正确。

    希望这些解决方案能够帮助您解决问题。如果还有其他问题或疑问,请随时询问。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料