如下示例用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