(在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相关推荐

  1. linux 审计oracle,开启和关闭oracle数据库中的审计功能

    开启和关闭oracle数据库中的审计功能 第1步:查看审计功能是否开启? SQL> show parameter audit; NAME           TYPE         VALUE ...

  2. oracle开启ssl配置,oracle SSL 配置

    百度CDN 网站SSL 配置 百度CDN SSL配置步骤 一般从SSL提供商购买到的证书是CRT二进制格式的. 1. 将 CRT 导入到IIS中, 然后从IIS中导出为PFX格式 2. 下载opens ...

  3. oracle存档模式,Oracle开启归档模式并设置RMAN自动备份策略

    title: Oracle开启归档模式并设置RMAN自动备份策略 categories: 数据库 tags: - Oracle - RMAN timezone: Asia/Shanghai date: ...

  4. linux oracle开启监听服务器,linux服务器启动oracle监听端口

    oracle监听 原理 客户端向服务器端发送连接请求,监听器监听到客户端德连接请求 监听器监听到客户端德连接请求后,把客户端德连接请求交给数据库服务器处理 客户端和服务器端建立连接,连接建立后,服务器 ...

  5. Oracle开启binlog

    Oracle开启binlog 由于需要使用debezium同步oracle数据, 故而需要开启oracle的binlog功能, 开启步骤如下 连接数据库 sas 或 sqlplus / as sysd ...

  6. 如何打开oracle的回闪,Oracle如何开启闪回功能

    Oracle如何开启闪回 Oracle在9i版本的时候引入了闪回技术,在Oracle 10g已经全面提供了闪回功能,主要提供了快速简单恢复数据库误操作的数据的恢复方法,而不用从逻辑备份或物理备份中恢复 ...

  7. oracle负载均衡方案,Oracle负载均衡配置代码

    对于专业的数据处理存储的Oracle ARC而言,负载均衡的设置就更为重要了.那么如何对Oracle负载均衡进行配置呢?就让我们一起看看本文来学习一下吧.我们将从客户端和服务器端来进行解说. Orac ...

  8. oracle中的open,Oracle 深入分析Open过程

    数据库的数据都存放在数据文件当中,当数据库开启时,Oracle怎么完成从数据文件读取数据到内存当中这个初始化过程呢?SQL> startup mount; ORACLE instance sta ...

  9. oracle不一致性关闭下次,Oracle DataGuard

    ```1.文档介绍 本实施方案主要对Oracle DataGuard实施部署作相应的说明.以便实施人员能根据当前业务特点,规划.建设符合高可用.高可靠的数据库集群系统.具体由Oracle DG环境拓扑 ...

  10. 关于oracle的物理dg,oracle物理DG管理-redo数据传输,应用与三种模式

    环境http://blog.csdn.net/sunziyue/article/details/50799648基础之上 1学习配置参数 下列参数为primary 角色相关 *.db_name='or ...

最新文章

  1. 我的世界java版不会玩_我的世界:五张MC趣图,Java版玩家永远不懂基岩版玩家的痛...
  2. 解决 Windows Docker 安装 Gitlab Volume 权限问题
  3. 离散度计算公式 python_被多种离散化场景困扰?8种python技巧!让数据处理更简单...
  4. Oracle11g 修改数据库编码(UTF-8修改为GBK)
  5. C语言 二级指针内存模型混合实战
  6. [转]jQuery Validate使用说明
  7. ES6的Reflect对象
  8. ZooKeeper集群部署方式
  9. 周爱民:真正的架构师是没有title的(图灵访谈)
  10. 第一次冲刺-站立会议02
  11. matlab时域转换成频域_频域的弦,时域的箭(1)
  12. 项管专栏丨项目管理的利器 — WBS工作分解结构
  13. Apollo canbus模块学习笔记
  14. ios 纯代码怎么适配ipad_iOS开发中iPhone和iPad的布局适配(工具篇)
  15. 《Python基础知识-4判断和循环语句》
  16. jy-09-SERVLETJSP——Servlet-Cookie-Session
  17. Spark——RDD操作详解
  18. Nuget的使用说明
  19. DAO:可及性与问责制、分权与效率 、开放与控制的三大权衡
  20. ChatGPT有效提问技巧

热门文章

  1. 计算机职称excel2007,计算机职称考试Excel2007中文电子表格考试大纲
  2. 数字电子钟的设计与制作
  3. 计算机毕业设计Java南京新东方学校家校通系统(源码+系统+mysql数据库+lw文档)
  4. 【Windows + Linux】专业级:安装操作系统 + 多系统 + GhostCast Server PXE 网刻基础坑精通详解
  5. wingdings字体符号在哪_Wingdings特殊字符及符号对照表
  6. Linux 安装InfluxDB1.8.9,权限配置
  7. win10 kms激活
  8. 【Rust每周一库】anyhow和thiserror - 错误处理库
  9. 程序员是青春饭?该何去何从?
  10. linux 内存占用过高