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。
请教大神如何解决。
您的问题是关于如何在SQL中使用SOAP访问Web服务的。经过您提供的代码和信息,我发现问题可能出在组件的创建上。以下是可能的解决方案:
检查您的SQL SERVER是否已经安装了SoapToolkit30。如果没有安装,请先下载安装。
如果已经安装了SoapToolkit30,请在创建组件时将组件名称更改为'MSSOAP.SoapClient'而不是'MSSOAP.SoapClient30'。
检查您是否具有足够的权限,在SQL SERVER服务运行的帐户中尝试运行此代码。
如果组件还是无法创建成功,请尝试重新注册COM组件。您可以按照以下步骤操作:
a. 打开命令提示符窗口(管理员身份)。
b. 输入 'regsvr32 MSSOAP.dll'(如果您使用的是SoapToolkit30,则为'regsvr32 MSSOAP30.dll'),然后按Enter键。
c. 如果成功注册,则会显示“DllRegisterServer in MSSOAP.dll succeeded”。否则,请检查COM组件的路径和名称是否正确。
希望这些解决方案能够帮助您解决问题。如果还有其他问题或疑问,请随时询问。