首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Express 18c从jdbc应用程序登录

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

Stack Overflow用户
提问于 2020-03-30 09:35:19
回答 2查看 710关注 0票数 0

新的Oracle Express用户,

我在Win 64环境中处理了数据库安装w/o问题,使用sqlplus从终端创建用户并授予他角色和特权,最后这个用户可以很好地处理来自Oracle实用程序的本地数据库--表、查询等。

当我尝试使用Oracle for Java提供的样板代码时,问题就出现了。在Eclipse中,在新项目中,添加了jdbc8 jars,在SQLcl中测试的用户创建器将被拒绝,例外情况是: java.sql.SQLException: ORA-01045:用户C##DBUSER缺乏创建会话特权;登录被拒绝。

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

代码语言:javascript
复制
  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));
  }

会感谢你的帮助,谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-30 14:51:14

正确的连接字符串必须是:"jdbc:oracle:thin:@//localhost:1521/XE",以说明创建和授予私有用户的DB名称。

票数 1
EN

Stack Overflow用户

发布于 2020-03-30 09:41:32

正如甲骨文所说:

用户C##DBUSER缺乏创建会话权限;登录被拒绝。

以特权用户身份连接到Oracle数据库(例如SYS)和

代码语言:javascript
复制
grant create session to c##dbuser;

(或它真正的用户名)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60927689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档