SQLServer触发器怎么调用JavaWeb接口
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"SQLServer触发器怎么调用JavaWeb接口",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SQLServer触发器怎么调用
千家信息网最后更新 2025年01月20日SQLServer触发器怎么调用JavaWeb接口
这篇文章主要为大家展示了"SQLServer触发器怎么调用JavaWeb接口",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SQLServer触发器怎么调用JavaWeb接口"这篇文章吧。
这几天接到一个需求需要吧不同系统的数据库进行同步,需要我做一个中间平台进行连接,瞬间就想到了触发器调用接口然后通过API进行传递再写入另一个数据库。
sqlServer触发器调用JavaWeb接口
1、开启 Ole Automation Procedures
sqlServer要想调用web接口,就要使用自带的存储过程。而这些存储过程2005版本以后默认时关闭的,所以要先开启。
sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Ole Automation Procedures', 1;GORECONFIGURE;GOEXEC sp_configure 'Ole Automation Procedures';GO
关闭 Ole Automation Procedures
sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Ole Automation Procedures', 1;GORECONFIGURE;GOEXEC sp_configure 'Ole Automation Procedures';GO
关闭高级选项
sp_configure 'show advanced options', 0;GORECONFIGURE;GO
然后就可以进行写触发器,因为我这边表的内容比较多,大家直接看代码就好了。
CREATE TRIGGER [dbo].[kingdee]ON [dbo].[称重信息]WITH EXECUTE AS CALLERFOR INSERTASBEGIN -- 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;ENDGOEXEC sp_addextendedproperty'MS_Description', N'称重信息表插入后触发器','SCHEMA', N'dbo','TABLE', N'称重信息','TRIGGER', N'kingdee'
看着复杂其实一点也不复杂,因为这个数据库的表是中文(不是我建的表系统中的中文的我没办法改),大致就是获取插入的数据然后进行触发,请求,然后API执行插入另一个数据库。
然后执行插入语句就可以看到执行的结果了~
以上是"SQLServer触发器怎么调用JavaWeb接口"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
触发器
接口
数据
内容
数据库
信息
篇文章
复杂
单位
时间
毛重
皮重
系统
过程
中文
存储
学习
帮助
不同
高级
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
临沂市越翔网络技术有限公司
怎么登录其他电脑的数据库
代理服务器检测
古籍综合数据库
学校网络安全工作的要求
怎么创建免费我的世界服务器
多线程编程数据库连接
安全的服务器IP地址
3000台服务器如何管理
软件开发需要多少钱费用
数据库汉字乱码怎么
消费机服务器
大连java软件开发工程师
工作微信群的网络安全
怎样做到网络安全100字
精准完成网络安全工作
添加中文数据库中显示的是
怎么用sql语句设置数据库路径
网络技术应用发展的方向
网络技术交流社区
医院信息系统网络安全情况
研究生计算机软件开发
小程序显示未设置服务器域名
安卓手机搭建服务器
网络安全宣传宣传栏
云服务器登入
多数据库无代码开发
网络安全周纪念徽章
网络安全法规定国家提倡什么
邯郸电脑软件开发哪家好