sqlldr User/pwd@sid control='c.ctl'
用bat调用,显示的是dos窗口,不太友好,导完了还要自己手工去查看log文件,对于非开发人员来说不太方便。想请教一下能否用pl/sql调用这个工具,我想做个图形化界面的功能?

解决方案 »

  1.   

    如果可以调用的话,怎么知道sqlldr是否执行操作结束?
      

  2.   

    如果是UNIX(solaris)的环境的话,sqlldr导完后,把log文件用xmail发送到你指定的邮箱里。
      

  3.   

    肯定可以啊。
    直接调用没有用个。
    我写过用java调用系统命令的代码。create or replace and resolve java source.....
    create or replace procedure   sqlload1 as language java....
      

  4.   

    楼上的,我没搞过JAVA,你能给段代码看看吗?或者方便留个联系方式吗?MSN:[email protected]
      

  5.   


    create or replace and resolve java source
      named "ExpBackupSysCmd" as
    import java.io.*;
    public class ExpBackupSysCmd {  public ExpBackupSysCmd() {
      } //执行exp备份
     public static void back(){
       String fileName="";
       fileName=Long.toString(System.currentTimeMillis());
     try{
         Process p=Runtime.getRuntime().exec("cmd.exe /c start exp finance/financelegenduser@serverA file=c:\\"+fileName+".dmp");
         BufferedReader bufferReader=new BufferedReader(new InputStreamReader(p.getInputStream()));
         String temp;
         while((temp=bufferReader.readLine())!=null)
           System.out.println(temp);
         p.waitFor();
       }catch(Exception e)
           {System.err.println(e.getMessage());}
     }   public static void main(String[] args) {
        ExpBackupSysCmd sysCmd1 = new ExpBackupSysCmd();
        sysCmd1.back();
      }
    }
    ;
    /--创建调用备份的存储过程
    create or replace procedure   ExpBackup
    as language java
    name 'ExpBackupSysCmd.back()';
    /