oracle 开启utl_tcp,关于Oracle的UTL_TCP
(在Oracle9.2下,link:http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96612/u_tcp.htm#ARPLS075)
With the UTL_TCP package and its procedures and functions, PL/SQL applications can communicate with external TCP/IP-based servers using TCP/IP. Because many Internet application protocols are based on TCP/IP, this package is useful to PL/SQL applications that use Internet protocols and e-mail.
(通过使用UTL_TCP包和他的过程与函数,PL/SQL程序能够使用TCP/IP协议与其他的基于TCP/IP的服务器进行通信。这个包对于使用网络和email服务的PL/SQL程序非常有用,因为许多网络服务程序协议都是基于TCP/IP协议的。)
Oracle的UTL_TCP包提供了一种额外的方法来主动与应用程序来进行通信。比如我们可以通过一个触发器,当某张表的数据被更改时,即时通知应用程序基础的通知应用程序服务,当然,这个应用程序服务需要开监听。写了个小测试东西来测试了下UTL_TCP:
1)以下是一个PL/SQL过程,使用UTL_TCP包,与ip为xxx.xxx.xxx.xxx:1234进行通信。只是简单的发送"Result has changed":
1: CREATE OR REPLACE procedure USERID.P_SendNotice
2: IS
3: conn utl_tcp.connection;
4: ret_val pls_integer;
6: conn := utl_tcp.open_connection(remote_host => 'xxx.xxx.xxx.xxx',
7: remote_port => 1234,
8: charset => 'US7ASCII');
9:
10: ret_val:=utl_tcp.write_line(conn, 'Result has changed');
11: dbms_output.put_line(to_char(ret_val));
13: when utl_tcp.NETWORK_ERROR then
14: dbms_output.put_line('network error');
15: End;
2)在一张表上建个触发器,以便对该表数据进行更改时候,发送通知消息给外部服务器:
1: CREATE OR REPLACE TRIGGER USERID.noticesend_trg
3: ON USERID.TableName REFERENCING NEW AS NEW OLD AS OLD
5: P_SendNotice ();
6: END;
3)在应用程序中,应该监听我在上面包中所写ip为xxx.xxx.xxx.xxx的1234端口,以完成对相应消息的接收
至此,完成一个简单的Oracle UTL_TCP的小应用。当表数据中发生改变的时候,通过触发器来调用过程,发送通知给应用服务器,应用服务器再做相应的相应。
UTL_TCP的限制:The UTL_TCP package provides TCP/IP client-side access functionality in PL/SQL. The API provided in the package only allows connections to be initiated by the PL/SQL program.It does not allow the PL/SQL program to accept connections initiated outside the program.
oracle 开启utl_tcp,关于Oracle的UTL_TCP相关推荐
- linux 审计oracle,开启和关闭oracle数据库中的审计功能
开启和关闭oracle数据库中的审计功能 第1步:查看审计功能是否开启? SQL> show parameter audit; NAME TYPE VALUE ...
- oracle开启ssl配置,oracle SSL 配置
百度CDN 网站SSL 配置 百度CDN SSL配置步骤 一般从SSL提供商购买到的证书是CRT二进制格式的. 1. 将 CRT 导入到IIS中, 然后从IIS中导出为PFX格式 2. 下载opens ...
- oracle存档模式,Oracle开启归档模式并设置RMAN自动备份策略
title: Oracle开启归档模式并设置RMAN自动备份策略 categories: 数据库 tags: - Oracle - RMAN timezone: Asia/Shanghai date: ...
- linux oracle开启监听服务器,linux服务器启动oracle监听端口
oracle监听 原理 客户端向服务器端发送连接请求,监听器监听到客户端德连接请求 监听器监听到客户端德连接请求后,把客户端德连接请求交给数据库服务器处理 客户端和服务器端建立连接,连接建立后,服务器 ...
- Oracle开启binlog
Oracle开启binlog 由于需要使用debezium同步oracle数据, 故而需要开启oracle的binlog功能, 开启步骤如下 连接数据库 sas 或 sqlplus / as sysd ...
- 如何打开oracle的回闪,Oracle如何开启闪回功能
Oracle如何开启闪回 Oracle在9i版本的时候引入了闪回技术,在Oracle 10g已经全面提供了闪回功能,主要提供了快速简单恢复数据库误操作的数据的恢复方法,而不用从逻辑备份或物理备份中恢复 ...
- oracle负载均衡方案,Oracle负载均衡配置代码
对于专业的数据处理存储的Oracle ARC而言,负载均衡的设置就更为重要了.那么如何对Oracle负载均衡进行配置呢?就让我们一起看看本文来学习一下吧.我们将从客户端和服务器端来进行解说. Orac ...
- oracle中的open,Oracle 深入分析Open过程
数据库的数据都存放在数据文件当中,当数据库开启时,Oracle怎么完成从数据文件读取数据到内存当中这个初始化过程呢?SQL> startup mount; ORACLE instance sta ...
- oracle不一致性关闭下次,Oracle DataGuard
```1.文档介绍 本实施方案主要对Oracle DataGuard实施部署作相应的说明.以便实施人员能根据当前业务特点,规划.建设符合高可用.高可靠的数据库集群系统.具体由Oracle DG环境拓扑 ...
- 关于oracle的物理dg,oracle物理DG管理-redo数据传输,应用与三种模式
环境http://blog.csdn.net/sunziyue/article/details/50799648基础之上 1学习配置参数 下列参数为primary 角色相关 *.db_name='or ...
最新文章
- 我的世界java版不会玩_我的世界:五张MC趣图,Java版玩家永远不懂基岩版玩家的痛...
- 解决 Windows Docker 安装 Gitlab Volume 权限问题
- 离散度计算公式 python_被多种离散化场景困扰?8种python技巧!让数据处理更简单...
- Oracle11g 修改数据库编码(UTF-8修改为GBK)
- C语言 二级指针内存模型混合实战
- [转]jQuery Validate使用说明
- ES6的Reflect对象
- ZooKeeper集群部署方式
- 周爱民:真正的架构师是没有title的(图灵访谈)
- 第一次冲刺-站立会议02
- matlab时域转换成频域_频域的弦,时域的箭(1)
- 项管专栏丨项目管理的利器 — WBS工作分解结构
- Apollo canbus模块学习笔记
- ios 纯代码怎么适配ipad_iOS开发中iPhone和iPad的布局适配(工具篇)
- 《Python基础知识-4判断和循环语句》
- jy-09-SERVLETJSP——Servlet-Cookie-Session
- Spark——RDD操作详解
- Nuget的使用说明
- DAO:可及性与问责制、分权与效率 、开放与控制的三大权衡
- ChatGPT有效提问技巧
热门文章
- 计算机职称excel2007,计算机职称考试Excel2007中文电子表格考试大纲
- 数字电子钟的设计与制作
- 计算机毕业设计Java南京新东方学校家校通系统(源码+系统+mysql数据库+lw文档)
- 【Windows + Linux】专业级:安装操作系统 + 多系统 + GhostCast Server PXE 网刻基础坑精通详解
- wingdings字体符号在哪_Wingdings特殊字符及符号对照表
- Linux 安装InfluxDB1.8.9,权限配置
- win10 kms激活
- 【Rust每周一库】anyhow和thiserror - 错误处理库
- 程序员是青春饭?该何去何从?
- linux 内存占用过高