CREATE OR REPLACE PROCEDURE RunHost Command (command IN VARCHAR2) 
AS 
LANGUAGE JAVA NAME 'obackup.backUpDataBaseOracle(java.lang.String)';
运行之后就出现这个错误,请问怎么解决?

解决方案 »

  1.   


    --你这个RunHost Command 是什么,错误提示名称?还是存储过程名称,若是存储过程名称不能用空格隔开
    --若是错误内容,把你的存储过程贴出来看下吧
    CREATE OR REPLACE PROCEDURE RunHost_Command (command IN VARCHAR2)  
    AS  
    begin 
    null;
    end;
    /
      

  2.   

    RunHostCommand应该连起来打。
    我执行完
    exec dbms_java.grant_permission('USER','java.io.FilePermission','<<ALL FILES>>','read,write,execute,delete');
    这个之后,出现这个
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    oracle.aurora.vm.IdNotFoundException: -1 is not the number of a user or role
    ORA-06512: at "SYS.DBMS_JAVA", line 313
    ORA-06512: at line 1
    是因为什么啊?
      

  3.   

    解决了,USER应该是DATABASE_USERNAME我忘了改了
      

  4.   

    我建立存储过程之后怎么用java调用?
      

  5.   


    CallableStatement callableStmt = conn.prepareCall("BEGIN RunHostCommand(?); END;");
    callableStmt.setString(1, "aaaa");
    callableStmt.execute();
    callableStmt.close();
      

  6.   

    那个问号里面应该填写什么啊?我创建的存储过程是这样的
    我要备份数据库,所以我java写的是要求获得用户名,密码,文件名和路径。这些是要传参的,这个算静态的方法吗?
      

  7.   

    问号只是占个位置阿,表示1个参数,如果2个参数,就是RunHostCommand(?,?)
    然后绑定参数。
    callableStmt.setString(1, "user");
    callableStmt.setString(2, "password");
      

  8.   

    出现这个了
    Exception in thread "main" java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00201: identifier 'RUNHOSTCOMMAND' must be declared
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    这是什么意思啊?
      

  9.   

    你的过程'RUNHOSTCOMMAND' 在数据库里创建了吗?
      

  10.   


    兄弟,这个问题太深奥了撒。
    当然在你的ORACLE数据库里面select * from user_procedures where procedure_name='RUNHOSTCOMMAND';
    这个查询有结果吗?如果没有就说明没有建好。
    或者用SQL DEVELOPER连上去看看有没有。加油吧,多学习。
      

  11.   

    说我的table或者view不存在,这是什么情况?
      

  12.   

    是啊,用的PL/SQL Developer,是oracle10g