jdbc连接oracle 11g报错

问题:最近重做系统,oracle由10g换为11g,结果jdbc连库的代码报错,

java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

到网上各种搜,有的说是获取连接是URL初始化错误,我的为

	public Connection getConnection() throws Exception{
		String drive = "oracle.jdbc.driver.OracleDriver";
		// 连接地址,各个厂商提供,单独记住
		// sid可通过查看oracle安装目录下lintener.ora文件得到
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		// 用户名和密码
		String dbuser = "mini";
		String password = "admin";
		// 使用Class类来加载程序
		Class.forName(drive);
		Connection conn = null;
		try{
			// 连接数据库
			conn = DriverManager.getConnection(url, dbuser, password);
		} catch(Exception ex){
			ex.printStackTrace();
		}
		return conn;
	}
后经测试,此代码无误。

解决办法:重装oracle11g

产生原因:重做系统后,我先装了10g,结果安装失败,我用安装包里自带的卸载工具卸载后,安装11g,新建数据库后,由于一些原因,我对它的数据文件进行了修改,后又修改回来了,以为不会有什么影响,修改前后用plsqldev均能正常登录,但是代码执行仍然报同样的错,运行环境eclipse+tomcat。没办法,抱着试一试的心理,我按照网上教程把11g卸干净,然后重装了下,重新建了一个用户,导入原来的表结构及数据,运行代码,数据正常显示。现在看来,可能有两个原因:其一,10g未卸干净,对第一次安装11g产生了影响;其二,对11g数据文件的修改,产生了不可逆的影响,影响未知;其三,数据库未建正确,用户授权不对。

经过搜索 ,给用户授足够权限脚本如下:

CREATE USER mini IDENTIFIED BY mini
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
GRANT 
  CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
  ALTER ANY TABLE, ALTER ANY PROCEDURE,
  DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
  SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
  TO mini;

-- 用户登录后,导入数据报“无权限”
ALTER   USER   mini   QUOTA   UNLIMITED   ON   USERS;

-- 解决select数据时报“动态执行表不可访问,本会话的自动统计被禁止”
grant select on v_$statname to mini;
grant select on v_$sesstat to mini;
grant select on v_$session to mini;
grant select on v_$mystat to mini;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值