新的Oracle Express用户,
我在Win 64环境中处理了数据库安装w/o问题,使用sqlplus从终端创建用户并授予他角色和特权,最后这个用户可以很好地处理来自Oracle实用程序的本地数据库--表、查询等。
当我尝试使用Oracle for Java提供的样板代码时,问题就出现了。在Eclipse中,在新项目中,添加了jdbc8 jars,在SQLcl中测试的用户创建器将被拒绝,例外情况是: java.sql.SQLException: ORA-01045:用户C##DBUSER缺乏创建会话特权;登录被拒绝。
下面是使用的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));
}会感谢你的帮助,谢谢!
发布于 2020-03-30 14:51:14
正确的连接字符串必须是:"jdbc:oracle:thin:@//localhost:1521/XE",以说明创建和授予私有用户的DB名称。
发布于 2020-03-30 09:41:32
正如甲骨文所说:
用户C##DBUSER缺乏创建会话权限;登录被拒绝。
以特权用户身份连接到Oracle数据库(例如SYS)和
grant create session to c##dbuser;(或它真正的用户名)。
https://stackoverflow.com/questions/60927689
复制相似问题