用java代码编写Oracle存储过程

如下示例用java实现ping,而后用PLSQL存储过程调用该方法,可用来测试dblink服务器网络状态java

1.java调用系统功能实现ping,返回ping后获取的字符(如下代码在Linux上经过,windows的话须要修改参数)sql

create or replace and compile java source named "CheckNet" as
import java.net.*;
import java.io.*;
import java.util.*;
public class CheckNet
{
    public static String ping(String host) {
    String pingResult = "";
    String pingCmd = "ping -c 2 " + host;
     BufferedReader in;
    try {
      Runtime r = Runtime.getRuntime();
      Process p = r.exec(pingCmd);

      in = new BufferedReader(new
      InputStreamReader(p.getInputStream()));
      String inputLine;
      while ((inputLine = in.readLine()) != null) {
        pingResult += inputLine;
       }
      in.close();
      return pingResult;

      }
     catch (IOException e) {
        return e.getMessage();
     }

   }

}

2.用PLSQL封装java方法windows

CREATE OR REPLACE FUNCTION CheckNet_ping(p_host in varchar2) RETURN varchar2 AS
    LANGUAGE JAVA NAME 'CheckNet.ping(java.lang.String) return java.lang.String';

3.测试服务器

select CheckNet_ping('127.0.0.1') from dual
相关文章
相关标签/搜索