我是靠谱客的博主 美好皮带,最近开发中收集的这篇文章主要介绍mysql触发器发起http请求_Sql server2012中触发器发送http请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Sql server2012中触发器发送http请求,可以通过创建存储过程,由存储过程发送http请求,触发器生成url参数,调用存储过程的方式。

1、存储过程示例

USE [mpe_db_Data]

GO

/****** Object:  StoredProcedure [dbo].[P_GET_HttpRequestData]    Script Date: 2015-07-23 15:27:52 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[P_GET_HttpRequestData](

@URL varchar(500),

@status int=0 OUT

)

AS

BEGIN

DECLARE @object int,

@errSrc int

/*初始化对*/

declare @str nvarchar(200)

declare @ResponseText nvarchar(200)

EXEC @status = SP_OACreate 'Msxml2.ServerXMLHTTP.3.0', @object OUT;

print '===================='

print @object

IF @status <> 0

BEGIN

EXEC SP_OAGetErrorInfo @object, @errSrc OUT

RETURN

END

/*创建链接*/

EXEC @status= SP_OAMethod @object,'open',NULL,'GET',@URL

IF @status <> 0

BEGIN

EXEC SP_OAGetErrorInfo @object, @errSrc OUT

RETURN

END

EXEC @status=SP_OAMethod @object,'setRequestHeader','Content-Type','application/x-www-form-urlencoded'

/*发起请求*/

EXEC @status= SP_OAMethod @object,'send',null

print '--------------------------------'

print @str

print '--------------------------------'

print @status

IF @status <> 0

BEGIN

EXEC SP_OAGetErrorInfo @object, @errSrc OUT

RETURN

END

Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT --@ResponseText为http返回的内容

Select @ResponseText

print @ResponseText

Exec sp_OADestroy @Object

END;2、需要通过配置sql server 2012外围应用配置器,启用SP_OACreate

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

勾选后重启sql server 2012数据库服务。

3、创建触发器

alter trigger tag_test1

on test1

for insert --插入触发

as

begin

declare @id varchar(50), @name varchar(50),@url varchar(4000),@t varchar(10);

select @id=id,@name=name from inserted;

--insert into test2 select id,name from inserted;

set @t='''';--为字符串中添加'我是信息'

set @url='http://localhost:8080/dojo01/Test_testList.do?'+

+'sql=insert into test2(id,name)values('+@t+@id+@t+','+@t+@name+@t+')';--url

EXECUTE P_GET_HttpRequestData @url;

--insert into test2(id,name) values(@id,@name);

end; 4、测试

最后

以上就是美好皮带为你收集整理的mysql触发器发起http请求_Sql server2012中触发器发送http请求的全部内容,希望文章能够帮你解决mysql触发器发起http请求_Sql server2012中触发器发送http请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部