我想用jdbc连接oracle 希望用dba身份 请问应该怎么弄?
下面是我的测试代码,system用户具有dba权限,在sqlplus下执行程序中的存储过程没问题,
但是在测试代码中报ORA-01031: insufficient privileges
不知道各位有没解决办法?
[code="java"]
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
/**
@author Administrator
*
*/
public class TestConn {
/**
@param args
*/
public static void main(String[] arg) {
CallableStatement cs = null;
Connection con = null;
ResultSet rs = null;
String sql = "select distinct(job) from scott.emp";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.3.43:1521:orc", "system",
"system");
cs = con.prepareCall(sql);
rs = cs.executeQuery();
if (rs == null){
System.out.println("rs is null");
}else{
while (rs.next()) {
System.out.println(rs.getString(1));
}
cs = con.prepareCall("{call DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => 'scott')}");
cs.execute();
cs = con.prepareCall("{call dbms_streams_auth.grant_admin_privilege(grantee => 'scott', grant_privileges => true)}");
cs.execute();
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[/code]
[b]问题补充:[/b]
有没有朋友看明白我的问题再回答
要不明白可以提出来,不要乱回答
[b]问题补充:[/b]
如果有朋友把我的测试例子跑通,不报异常 请赐教 给点具体的方法 谢谢!
你导入oracle的驱动jar包了吗?
[url]http://www.cnblogs.com/amboyna/archive/2008/03/08/1096018.html[/url]
好吧,我咋乱回答了?我给你的问题是个汇总列表,自己参考看看不就知道了,缺乏程序员最基本的素质,啥问题都不思考下就乱问,头一次遇到你这样的人。
连个数据库都搞不定,懒的说什么了
貌似DBA无法通过TNSListener方式访问. :)
这个白痴的问题,环境变量配置下就可以了
如果是在eclispe里,添加个servlet-api的包就行了,tomcat里有
用户名字符串改为:"sys as SYSDBA" 可以了