sqlserver调用msxml3.dll中的xmlhttp对象

sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

sp_configure 'Ole Automation Procedures', 1;

GO

RECONFIGURE;

GO

EXEC sp_configure 'Ole Automation Procedures';

GO

以上配置可以用来配置调用COM组件

 

 SELECT * FROM sys.configurations  ORDER BY name '可以查看所有配置的选项

 sp_configure 存储过程可以用来进行配置

 

DECLARE @URI varchar (8000)

set @URI = '互联网具体要读取的地址'

declare @xmlhttp int
declare @err int
declare @Get varchar(8000)
begin
EXEC @err = sp_OACreate 'MSXML2.XMLHTTP', @xmlhttp OUT --创建XMLHTTP对象
EXEC @err = sp_OAMethod @xmlhttp,'OPEN',NULL,'GET',@URI,'False' --调用OPEN方法
EXEC @err = sp_OAMethod @xmlhttp,'Send',NULL,NULL; --调用SEND方法
EXEC @err = sp_OAGetProperty @xmlhttp, 'responseText',@Get output
print @Get

转载于:https://www.cnblogs.com/laogao/archive/2012/01/27/2330134.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DECLARE @Object int; DECLARE @HR int; DECLARE @Property nvarchar(255); DECLARE @Return nvarchar(255); DECLARE @Source nvarchar(255), @Desc nvarchar(255); DECLARE @httpStatus int; DECLARE @response varchar(8000); --创建 OLE 对象的实例 EXEC @HR = sp_OACreate N'MSXML2.XMLHTTP.6.0',@Object OUT; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('Error Creating COM Component 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO END_ROUTINE END BEGIN --Open EXEC @HR = sp_OAMethod @Object,N'open',Null,'GET','http://localhost:1728/HttpServer/submit.aspx',FALSE; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('Open 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO CLEANUP END --setRequestHeader EXEC @HR = sp_OAMethod @Object,N'setRequestHeader',Null,'Content-Type','text/xml'; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('setRequestHeader 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO CLEANUP END --send EXEC @HR = sp_OAMethod @Object,N'send',Null,''; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('send 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO CLEANUP END --readyState EXEC @HR = sp_OAGetProperty @Object,'readyState', @httpStatus OUT; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('readyState 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO CLEANUP END --verify status IF @httpStatus 4 BEGIN RAISERROR('readyState http status bad', 16,1) GOTO CLEANUP END --status EXEC @HR = sp_OAGetProperty @Object,'status', @httpStatus OUT; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('getstatus 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO CLEANUP END --verify status IF @httpStatus 200 BEGIN Print Cast(@httpStatus As varchar) RAISERROR('Open http status bad', 16,1) GOTO CLEANUP END --responseText EXEC @HR = sp_OAGetProperty @Object, 'responseText', @response OUT IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; RAISERROR('responseText 0x%x, %s, %s',16,1, @HR, @Source, @Desc) GOTO CLEANUP END Print @response END CLEANUP: BEGIN EXEC @HR = sp_OADestroy @Object; IF @HR 0 BEGIN EXEC sp_OAGetErrorInfo @Object,@Source OUT,@Desc OUT; SELECT HR = convert(varbinary(4),@HR),Source=@Source,Description=@Desc; END END END_ROUTINE: RETURN; GO
msxml3.dll是一种动态链接库文件,它是Microsoft XML Core Services的一部分,用于处理XML数据的解析和管理。当出现"msxml3.dll 安全频道支持错误"时,通常说明XML数据的安全性认证或加密过程发生了错误。 这种错误通常出现在使用网络通信协议(如HTTPS)传输XML数据时。安全频道支持是一种用于确保数据传输的机制,它使用加密和数字证书等技术来保护数据的完整性和安全性。当在与远程服务器进行通信的过程XML数据的安全频道支持检测到错误,就会导致出现这个错误提示。 要解决这个问题,可以尝试以下几种方法: 1. 更新或重新安装Microsoft XML Core Services:这个错误可能是由于msxml3.dll文件损坏或丢失所致。可以通过访问Microsoft官方网站下载最新的XML Core Services包,然后安装或更新该软件来解决问题。 2. 检查网络连接和安全设置:这个错误可能是由于网络连接问题或安全设置不正确所致。确保网络连接正常并且没有被防火墙或安全软件阻止。还可以尝试调整Internet Explorer或其他网络软件的安全级别,以确保能够正确执行安全频道支持。 3. 检查远程服务器证书:当使用HTTPS协议进行通信时,需要检查和验证远程服务器的数字证书。确保证书合法有效,并且可以正确地与远程服务器建立安全连接。 4. 联系软件开发者或技术支持:如果以上方法都无法解决问题,建议联系软件开发者或技术支持寻求帮助。他们可能需要详细的错误信息和日志来诊断和解决问题。 总之,"msxml3.dll 安全频道支持错误"通常与XML数据的安全性认证或加密过程出现问题有关。通过更新或重新安装Microsoft XML Core Services、检查网络连接和安全设置、验证远程服务器证书等方法,可以尝试解决这个问题。如果问题仍然存在,建议联系软件开发方或技术支持获得进一步的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值