Oracle Express 18c从Java jdbc应用程序登录

问题描述 投票:0回答:1

这里是新的Oracle Express用户,

我在Win 64环境中进行了无问题的数据库安装,从终端使用sqlplus创建用户并授予他角色和特权,最后,该用户可以使用Oracle SQLcl实用程序中的本地数据库正常工作-表格,查询等。

当我尝试使用Oracle for Java提供的样板代码时出现问题。在Eclipse中,在新项目中,添加了jdbc8 jar,从而在SQLcl用户知识中测试了被拒绝,但异常:java.sql.SQLException:ORA-01045:用户C ## DBUSER缺少CREATE SESSION特权;登录被拒绝。

这里是使用的Oracle锅炉代码,以及我的本地详细信息:

  OracleDataSource ods = new OracleDataSource();
  ods.setURL("jdbc:oracle:thin:@//localhost:1521/XEPDB1"); 
  ods.setUser("c##dbUser"); 
  ods.setPassword("dbUserPassowrd"); 
  Connection conn = ods.getConnection();

  PreparedStatement stmt = conn.prepareStatement("SELECT 'Hello World!' FROM dual");
  ResultSet rslt = stmt.executeQuery();
  while (rslt.next()) {
    System.out.println(rslt.getString(1));
  }

非常感谢您的帮助,谢谢!

java oracle jdbc
1个回答
0
投票
正如甲骨文所说:

用户C ## DBUSER缺少CREATE SESSION特权;登录被拒绝。

以特权用户(例如SYS)连接到Oracle数据库,并且

grant create session to c##dbuser;

(或实际上是哪个用户名。)
© www.soinside.com 2019 - 2024. All rights reserved.