概述
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
勾选后重启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请求所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复