通过oracle触发器调用存储过程发送http请求

本文介绍了如何通过Oracle触发器调用存储过程发送HTTP请求时遇到的问题及其解决方案。当出现HTTP请求失败,网络访问被ACL拒绝的情况,可以查询网络ACL和权限列表,并通过调整数据库中的用户权限设置来解决问题。Oracle 11g引入了ACL来实现细粒度的网络服务访问控制,允许控制用户对特定网络资源的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是触发器,什么是存储过程,我不说,我也不知道

现在我要说的是怎么通过触发器调用存储过程发送http请求

--触发器:
	--语法:
		create [or replace] tigger 触发器名 触发时间 触发事件 on 表名
			[for each row]
		begin
			pl/sql语句/存储过程
		end
	--例子:
		create or replace trigger TR_BEFORE_INSERT_EMPLOYEE before insert or update or DELETE on ONLTRANREC
		begin
			PRO_POSTREQ(RTRIM(:new.SRVTRANSDATETIME),RTRIM(:new.CARDNO),RTRIM(:new.MID),RTRIM(:new.TRANAMT),RTRIM(:new.CARDKIND),RTRIM(:new.SRVSTAN));
		END TR_BEFORE_INSERT_EMPLOYEE;
		
--发送http请求的存储过程:
	CREATE OR REPLACE procedure PRO_POSTREQ(srvTransDateTime in varchar2,cardNo in varchar2,mid in varchar2,tranAmt in NUMBER,cardkind in varchar2,srvStan in varchar2) as
	begin
		DECLARE
		  req   UTL_HTTP.REQ;
		  resp  UTL_HTTP.RESP;
		  value VARCHAR2(1024);  -- URL to post to
		  v_url VARCHAR2(4000) := 'http://61.183.69.82:9010/gswx/Transaction/getOmsTrans?srvTransDateTime='||srvT
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值