gpt4 book ai didi

java - Oracle JDBC 无法以 sysdba 用户身份连接

转载 作者:行者123 更新时间:2023-12-03 23:42:01 25 4
gpt4 key购买 nike

我在以 sysdba 用户身份连接到数据库时遇到问题。在 oracle 12c 下执行相同的代码时,一切似乎都正常工作,并且我能够以 sysdba 用户身份连接,但是在 oracle 19c 下尝试执行相同的代码时,出现 ORA-01017抛出异常。我检查了我是否正确创建了 orapwd 文件。当我将 thin 更改为 oci 时,它可以正常工作,但我仍想使用 thin

OracleDataSource ods = new OracleDataSource();
Properties properties = new Properties();
properties.put("user", "sys");
properties.put("password", "password");
properties.put("internal_logon", "sysdba");

ods.setConnectionProperties(properties);
ods.setURL('here is my URL which works when OCI used instead of THIN');
ods.getConnection(); // when Oracle 12c is okay, oracle 19c thrown ORA exception.

我尝试使用用户“sys as sydba”,但结果是相同的 ORA-01017。有谁知道可能出了什么问题?我正在运行 ojdbc8:19.3.0.0

最佳答案

请检查您正在创建的密码文件。如果您使用 ignorecase 参数,它在 Oracle 12c 下仍然有效,但在 Oracle 19c 下无效。如果您使用此参数创建密码文件,则不会出现异常,文件会成功创建,但无法正常工作。解决方案可能是在没有此参数的情况下重新创建此文件。我相信它应该有所帮助。

关于java - Oracle JDBC 无法以 sysdba 用户身份连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61097964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com