CREATE OR REPLACE PROCEDURE RunHost Command (command IN VARCHAR2)
AS
LANGUAGE JAVA NAME 'obackup.backUpDataBaseOracle(java.lang.String)';
运行之后就出现这个错误,请问怎么解决?
AS
LANGUAGE JAVA NAME 'obackup.backUpDataBaseOracle(java.lang.String)';
运行之后就出现这个错误,请问怎么解决?
--你这个RunHost Command 是什么,错误提示名称?还是存储过程名称,若是存储过程名称不能用空格隔开
--若是错误内容,把你的存储过程贴出来看下吧
CREATE OR REPLACE PROCEDURE RunHost_Command (command IN VARCHAR2)
AS
begin
null;
end;
/
我执行完
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
是因为什么啊?
CallableStatement callableStmt = conn.prepareCall("BEGIN RunHostCommand(?); END;");
callableStmt.setString(1, "aaaa");
callableStmt.execute();
callableStmt.close();
我要备份数据库,所以我java写的是要求获得用户名,密码,文件名和路径。这些是要传参的,这个算静态的方法吗?
然后绑定参数。
callableStmt.setString(1, "user");
callableStmt.setString(2, "password");
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
这是什么意思啊?
兄弟,这个问题太深奥了撒。
当然在你的ORACLE数据库里面select * from user_procedures where procedure_name='RUNHOSTCOMMAND';
这个查询有结果吗?如果没有就说明没有建好。
或者用SQL DEVELOPER连上去看看有没有。加油吧,多学习。