本文作出如下假设:
1)Oracle 版本 11.2g
2)使用 PL/SQL Developer
3)Oracle 所在 IP 192.168.56.222
4)远程机器 IP 192.168.56.1
5)Java 存储过程使用本地 UDP 端口 7777
6)远程检测程序使用 UDP 端口 7778
完整步骤如下:
1. 用 PL/SQL 创建一个 Java Source 类 UDPSender,并编译到数据库。
create or replace and compile java source named UDPSender as public class UDPSender // UDP Socket Port try { sock.send(p); |
2. 创建一个 SQL 函数引用这个 Java 方法
create or replace function fn_send_udp_message (msg in nvarchar2) return nvarchar2 |
3. 在远程机器上启动一个 UDP 的接收程序检测来自数据库的包
自己编写
4. 在 Command Window 中测试这个方法
set serveroutput on size 10000 |
5. 检查是否收到来自 Oracle Java Stored Procedure 的消息
若接收到则表示成功。
否则调试失败原因。
可能存在的问题:
权限相关
解决方法:
根据提示添加相关权限