我们已将 Oracle 数据库从 11g 迁移到 12c。
我们有一个在 Java 1.5 中运行并使用 ojdbc14.jar 的遗留应用程序。
我们的应用程序无法创建到数据库的连接错误说:
java.sql.SQLException: ORA-28040: No matching authentication protocol
我建议回答 ORA-28040: No matching authentication protocol exception ,并尝试将我的 ojdbc14.jar 升级到 ojdbc6.jar。
我现在有一条不同的错误消息说:
error: OracleCallableStatement is not public in oracle.jdbc.driver; cannot be accessed from outside package
import oracle.jdbc.driver.OracleCallableStatement;
^
error: OracleTypes is not public in oracle.jdbc.driver; cannot be accessed from outside package
cstmt.registerOutParameter(3,oracle.jdbc.driver.OracleTypes.CURSOR);
^
Ant 构建文件:
<javac srcdir="${src}" destdir="${classes}" source="1.5" target="1.5">
<classpath refid="cpath" />
</javac>
不确定我们应该做什么才能使应用程序正常工作。
最佳答案
我最近在 2 个不同的应用程序中遇到了同样的错误:
中提到的第二种解决方案
same post you referred to - 对我们来说效果很好。
Workaround: Set SQLNET.ALLOWED_LOGON_VERSION=8 in the oracle/network/admin/sqlnet.ora file.
我们与 DBA 一起在数据库服务器上的 sqlnet.ora 上设置了上述选项。这解决了我们的问题。我希望它可以帮助某人。
关于oracle11g - ORA-28040 : No matching authentication protocol : Oracle 12c Upgrade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31141392/