一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQLServer觸發器調用JavaWeb接口的過程詳解

SQLServer觸發器調用JavaWeb接口的過程詳解

2022-01-10 17:17coderxgc Sql Server

sqlServer要想調用web接口,就要使用自帶的存儲過程。而這些存儲過程2005版本以后默認時關閉的,所以要先開啟。對SQLServer觸發器調用JavaWeb接口的過程感興趣的朋友一起看看吧

這幾天接到一個需求需要吧不同系統的數據庫進行同步,需要我做一個中間平臺進行連接,瞬間就想到了觸發器調用接口然后通過API進行傳遞再寫入另一個數據庫。
sqlServer觸發器調用JavaWeb接口
1、開啟 Ole Automation Procedures
sqlServer要想調用web接口,就要使用自帶的存儲過程。而這些存儲過程2005版本以后默認時關閉的,所以要先開啟。

?
1
2
3
4
5
6
7
8
9
10
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

?
1
2
3
4
5
6
7
8
9
10
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

關閉高級選項

?
1
2
3
4
sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO

然后就可以進行寫觸發器,因為我這邊表的內容比較多,大家直接看代碼就好了。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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執行插入另一個數據庫。
然后執行插入語句就可以看到執行的結果了~

SQLServer觸發器調用JavaWeb接口的過程詳解

到此這篇關于SQLServer觸發器調用JavaWeb接口的過程詳解的文章就介紹到這了,更多相關SQLServer觸發器調用接口內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/xgcc/archive/2021/12/30/15747664.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久精品成人免费看 | 美艳教师刘艳第三部166 | 99精品国产高清自在线看超 | 国内精品 大秀视频 日韩精品 | 天天澡夜夜澡狠狠澡 | 国产精品成人扳一级aa毛片 | 成人丁香婷婷 | 99精品视频免费 | 狠狠做五月深爱婷婷天天综合 | 美女精品永久福利在线 | 亚洲黄色色图 | 我与旗袍老师疯狂床震 | 欧美成狂野欧美在线观看 | 羞羞私人影院可以直接免费观影吗 | 暖暖 免费 高清 日本 在线1 | 欧美又硬又粗又长又大 | 久久精品无码人妻无码AV蜜臀 | 手机在线观看国产精选免费 | 久久午夜一区二区 | 午夜久久免费视频 | 国产精品麻豆免费版 | 996热精品视频在线观看 | 毛片视频网站在线观看 | 国产手机在线αⅴ片无码观看 | 国产麻豆成91 | 亚洲国产精品嫩草影院久久 | 亚洲人影院 | 涩色网站 | 国产成人亚洲精品一区二区在线看 | 俄罗斯12一15处交 | 无套内谢大学生A片 | 欧美一区精品 | 欧美大片一区二区 | 操小女人 | 高清在线观看mv的网址免费 | 国产在线观看色 | 天天摸天天碰色综合网 | 99久久综合精品免费 | 喷出奶汁了h| 黑人双渗透| 四虎色影院 |