CREATE OR REPLACE PROCEDURE RunHost Command (command IN VARCHAR2) AS LANGUAGE JAVA NAME 'obackup.backUpDataBaseOracle(java.lang.String)';
创建存储过程是出错,insufficient privilege。要给什么权限才可以?
创建存储过程是出错,insufficient privilege。要给什么权限才可以?
解决方案 »
- 求解
- 请问索引组织表+ 分区表的方式,如何创建、建立索引,帮助优化。谢谢
- oracle索引失效问题
- 求教SQL语句,请高手帮助
- Oracle9i有多少个版本?我见怎么有三碟也有起碟的?我安装七碟版时对照DOC目录里的安装说明安装的,但复制完了却连接不上数据库,安装失
- sequence
- 高分征求解答,如何将Oracle数据库中的图片批量导出,在线等
- TNS服务无法启动!
- ORACLE 新用户权限分配问题! 请兄弟们指导! 急急急!
- 求助一下错误原因,oracle输入代码后就出现如下错误
- 求解 oracle系统表v$parameter v$SGASTAT里面参数的意思
- Warning: Procedure created with compilation errors
--试下
grant create any procedure to 用户名;
grant alter any procedure to 用户名;
grant drop any procedure to 用户名;
grant execute any procedure to 用户名;
需要赋予权限,可以赋予角色resource。把上面tony换成你的用户名即可。
drop procedure 存储过程名称
RUNHOSTCOMMAND(?,?,?,?)然后说我wrong number or types of arguments in call to
要怎么改啊?
例如
varchar2 -〉setString()
number -> setInt()
你创建的过程只有一个参数,command,调用的时候4个参数,肯定要抛异常了
这个是我创建的存储过程Java code
import java.io.*;
import java.io.File;
import java.io.IOException;
import java.io.BufferedReader;public class obackup {
public static void backUpDataBaseOracle(String userName,String passWord,String dataBaseName,String address){
StringBuffer exp=new StringBuffer("exp");
exp.append(userName);
exp.append("/");
exp.append(passWord);
exp.append("@");
exp.append(dataBaseName);
exp.append("file=");
/*
*
*/
String maxIndex=address.substring(address.length()-1);
if("/".equals(maxIndex)||"\\".equals(maxIndex)){
exp.append(address);
}else{
address= address+"\\";
exp.append(address);
}
File file=new File(address);
if(!file.exists()){
file.mkdir();
}
exp.append(dataBaseName);
exp.append(".dmp");
System.out.println("开始备份...");
try{
Process p=Runtime.getRuntime().exec(exp.toString());
InputStreamReader isr= new InputStreamReader(p.getErrorStream());
BufferedReader br = new BufferedReader(isr);
String line= null;
while((line = br.readLine())!=null){
if(line.indexOf("错误")!=-1){
break;
}
}
p.destroy();
p.waitFor();
System.out.println("备份成功...");
}catch(IOException e){
System.out.println(e.getMessage());
}catch(InterruptedException e){
System.out.println(e.getMessage());
}
}
}