SQL Server触发器调用接口的过程步骤是什么
Admin 2022-08-05 群英技术资讯 1395 次浏览
这篇文章主要介绍了SQL Server触发器调用接口的过程步骤是什么相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL Server触发器调用接口的过程步骤是什么文章都会有所收获,下面我们一起来看看吧。这几天接到一个需求需要吧不同系统的数据库进行同步,需要我做一个中间平台进行连接,瞬间就想到了触发器调用接口然后通过API进行传递再写入另一个数据库。
sqlServer触发器调用JavaWeb接口
1、开启 Ole Automation Procedures
sqlServer要想调用web接口,就要使用自带的存储过程。而这些存储过程2005版本以后默认时关闭的,所以要先开启。
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
关闭 Ole Automation Procedures
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
关闭高级选项
sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
然后就可以进行写触发器,因为我这边表的内容比较多,大家直接看代码就好了。
CREATE TRIGGER [dbo].[kingdee] ON [dbo].[称重信息] WITH EXECUTE AS CALLER FOR INSERT AS BEGIN -- Type the SQL Here. DECLARE @fbillno int; DECLARE @carid varchar(4000); DECLARE @type varchar(4000); DECLARE @sendplace varchar(4000); DECLARE @consignee varchar(4000); DECLARE @material varchar(4000); DECLARE @specification varchar(4000); DECLARE @gw varchar(4000); DECLARE @tare varchar(4000); DECLARE @nw varchar(4000); DECLARE @kw varchar(4000); DECLARE @aw varchar(4000); DECLARE @price varchar(4000); DECLARE @money varchar(4000); DECLARE @zfxs varchar(4000); DECLARE @square varchar(4000); DECLARE @weighingcost varchar(4000); DECLARE @gwtime varchar(4000); DECLARE @taretime varchar(4000); declare @url varchar(4000); declare @object int; declare @responseText varchar(4000); SELECT @fbillno = (select 流水号 from inserted); SELECT @carid = (select 车号 from inserted); SELECT @type = (select 过磅类型 from inserted); SELECT @sendplace = (select 发货单位 from inserted); SELECT @consignee = (select 收货单位 from inserted); SELECT @material = (select 货名 from inserted); SELECT @specification = (select 规格 from inserted); SELECT @gw = (select 毛重 from inserted); SELECT @tare = (select 皮重 from inserted); SELECT @nw = (select 净重 from inserted); SELECT @kw = (select 扣重 from inserted); SELECT @aw = (select 实重 from inserted); SELECT @price = (select 单价 from inserted); SELECT @money = (select 金额 from inserted); SELECT @zfxs = (select 折方系数 from inserted); SELECT @square = (select 方量 from inserted); SELECT @weighingcost = (select 过磅费 from inserted); SELECT @gwtime = (select 毛重时间 from inserted); SELECT @taretime = (select 皮重时间 from inserted); SELECT @url = 'http://ip/saveweight/' + CONVERT(INT, @fbillno)+'/'+ CONVERT(VARCHAR, @carid) +'/'+ CONVERT(VARCHAR, @type)+'/'+ CONVERT(VARCHAR, @sendplace)+'/'+ CONVERT(VARCHAR, @consignee)+'/'+ CONVERT(VARCHAR, @material) +'/'+ CONVERT(VARCHAR, @specification)+'/'+ CONVERT(VARCHAR, @gw)+'/'+ CONVERT(VARCHAR, @tare)+'/'+ CONVERT(VARCHAR, @nw) +'/'+ CONVERT(VARCHAR, @kw)+'/'+ CONVERT(VARCHAR, @aw)+'/'+ CONVERT(VARCHAR, @price)+'/'+ CONVERT(VARCHAR, @money) +'/'+ CONVERT(VARCHAR, @zfxs)+'/'+ CONVERT(VARCHAR, @square)+'/'+ CONVERT(VARCHAR, @weighingcost)+'/'+ CONVERT(VARCHAR, @gwtime) +'/'+ CONVERT(VARCHAR, @taretime); print @url; -- insert into one (id, name) VALUES (@id, @url); exec sp_OACreate'MSXML2.XMLHTTP',@object out exec sp_OAMethod @object,'open',null,'get',@url,'false' exec sp_OAMethod @object,'send' exec sp_OAMethod @object,'responseText',@responseText output print @responseText exec sp_OADestroy @object SET NOCOUNT ON; END GO EXEC sp_addextendedproperty 'MS_Description', N'称重信息表插入后触发器', 'SCHEMA', N'dbo', 'TABLE', N'称重信息', 'TRIGGER', N'kingdee'
看着复杂其实一点也不复杂,因为这个数据库的表是中文(不是我建的表系统中的中文的我没办法改),大致就是获取插入的数据然后进行触发,请求,然后API执行插入另一个数据库。
然后执行插入语句就可以看到执行的结果了~

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章介绍了SQL Server中实现错误处理的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
SQL DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
SQL索引是一种特殊的查询表,可以被数据库搜索引擎用来加速数据的检索。简单说来,索引就是指向表中数据的指针。数据库的索引同书籍后面的索引非常相像。
这篇文章主要介绍SQL Server中怎么样实现数字辅助表的内容,一些朋友可能不是很了解数字辅助表,其实数字辅助表有很大的用处,接下来我们一起来了解看看SQL Server 实现数字辅助表的方法。
在数据查询中,从2008开始SQLServer提供了一个新的数据类型hierarchyid,专门用来操作层次型数据结构。hierarchyid 类型对层次结构树中有关单个节点的信息进行逻...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008