create or replace and compile java source named expbackupsyscmd as
import java.io.*;
public class JavaClass {
  public JavaClass() {
  }
 public static void back(){
 try{
 String[] str={"C:\\Program Files\\star\\Setup1\\hzcxsj.exe","103","00S04","<?xml version='1.0' encoding='GBK'?><root><QueryCondition><ZJLX/><sfzmhm>430102195912071014</sfzmhm><bankcard6w/></QueryCondition></root>"};
 Process p=Runtime.getRuntime().exec(str);
   }catch(Exception e)
       {System.err.println(e.getMessage());}
 }
}
;
/create or replace procedure ExpBackup
as language java
name 'JavaClass.back()';为什么执行存储过程的时候不调用那个exe文件呢oracleexe

解决方案 »

  1.   

    import java.io.*;
    public class JavaClass {
      public JavaClass() {
      }
     public static void back(){
     try{
     String[] str={"C:\\Program Files\\star\\Setup1\\hzcxsj.exe","103","00S04","<?xml version='1.0' encoding='GBK'?><root><QueryCondition><ZJLX/><sfzmhm>430102195912071014</sfzmhm><bankcard6w/></QueryCondition></root>"};
     Process p=Runtime.getRuntime().exec(str);
       }catch(Exception e)
           {System.err.println(e.getMessage());}
     }
    }
    这一段java程序放到myeclipse里是可以执行的,也能调到exe文件,但是在oracle里就调不到