我想在JSP程序中实现oracle 数据库的备份(jsp程序和oracle是两台不同的主机,都是windows系统),当点击备份提交按钮,直接进行备份。请问怎么做,谢谢 我先来介绍我已经进行过的工作 
1.网上说用exp命令,但是我认为在jsp程序运行的计算机上面没有装oracle客户端的时候是不能使用runtime调用exp命令的 
2.网上说用存储过程,但exp命令不是sql 语句(不知我理解正确不),所以也不能够实现。   我现在想要编写java函数(函数包括使用runtime调用exp命令)并加载到oracle服务器端,然后在jsp程序段调用,但是我没有实现,请各位讨论下,最好能够给出代码实例,谢谢

解决方案 »

  1.   

    你的理解和想法没错。
    我说一下我的做法。
    我想jsp调用存储过程应该没有问题。
    因为在oracle中可以建立java对象,中java在调用操作命令exp。
    顺序:jsp->procdure->javaobj(oracle)->exp。
      

  2.   

    oracle调用java外部程序,供参考:例:
    public class Factorial {
    public static int factor(int n) {
    if (n == 1) 
    return 1;
    else 
    return n * factor(n - 1);
    }
    }
    用javac将其编译成Factorial.class。假设将其放在c:\class目录下。在oracle中创建directory:
    CREATE DIRECTORY Bfile_dir AS 'c:\class';再创建java类:
    CREATE JAVA CLASS USING BFILE (Bfile_dir, 'Factorial.class');然后就可以发布该类中的方法:
    create or replace function jfactor(n in number) return number is
    language Java
    name 'Factorial.factor(int) return int';  至此,就可以在oracle中调用java的函数,如:
    select jfactor(6) from dual;
      

  3.   

    请问select jfactor(6) from dual; 是什么意思?谢谢!
      

  4.   

    http://www.oracle-base.com/articles/8i/ShellCommandsFromPLSQL.php先写一个java存储过程,用jsp调用这个存储过程还有一种方法dbms_scheduler是可以执行shell的,自己写个存储过程给oracle submit一个job,然后用jsp调用这个存储过程