当前位置:数据库 > SQLServer >>

PL/SQL调用JAVA获取网卡MAC地址

PL/SQL调用JAVA获取网卡MAC地址
 
主要是学习PL/SQL调用JAVA的方法.
 
平台:WINDOWS
 
1.首先用PL/SQL创建好JAVA 源文件(JAVA source)并进行编译,直到没有错误.
 
   注意调用一些外部JAVA 包的时候,编译的时候可能不报错,直到你执行函数的时候才会错误,错误信息一般为:ORA-29540
 
[java] 
create or replace and compile java source named getosmac as  
import java.io.*;  
  
public class GetOSMac{  
    /** 
     * 获取MAC地址 
     */  
    public static String getMac() {  
        String result = "";  
        try {  
  
            Process process = Runtime.getRuntime().exec("ipconfig /all");--通过执行dos命令IPCONFIG /ALL来获取  
  
            InputStreamReader ir = new InputStreamReader(  
                    process.getInputStream());  
  
            LineNumberReader input = new LineNumberReader(ir);  
  
            String line;  
  
            while ((line = input.readLine()) != null)  
  
                if (line.indexOf("Physical Address") > 0) {  
  
                    String MACAddr = line.substring(line.indexOf("-") - 2);  
  
                    result = MACAddr;  
  
                }  
  
        } catch (java.io.IOException e) {  
  
            System.err.println("IOException " + e.getMessage());  
  
        }  
        return result;  
    }  
  
    public static void main(String[] args) {  
        System.out.println("OK!!!"};  
  
}  
 
 
2.然后创建函数调用该JAVA SOURCE
 
[sql] 
create or replace function GetMac return varchar2 is  
  language java name ' GetOSMac.getMac() return java.lang.String';  
 
 3.调用函数.
 
[sql] 
11:13:04 SYS@orcl> select GetMac AS MAC from dual;  
  
MAC  
------------------------------------------------  
  
50-E5-49-17-EC-82  
  
已选择 1 行。  
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,