Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Oracle 12c的SQL*Net协议规范_Java_Oracle_Jdbc_Oracle12c - Fatal编程技术网

Java Oracle 12c的SQL*Net协议规范

Java Oracle 12c的SQL*Net协议规范,java,oracle,jdbc,oracle12c,Java,Oracle,Jdbc,Oracle12c,在我们的项目中,我们有Oracle jdbc直接驱动程序。这个车手写了一些我们队的人,但是这些人离开了我们队。此驱动程序在Oracle 11g中正常工作,但在Oracle 12c数据库尝试连接时引发异常 Caused by: java.sql.SQLException: [mobius][Oracle JDBC Driver][Oracle]ORA-28040: No matching authentication protocol at com.mobius.jdbc.oraclebase.

在我们的项目中,我们有Oracle jdbc直接驱动程序。这个车手写了一些我们队的人,但是这些人离开了我们队。此驱动程序在Oracle 11g中正常工作,但在Oracle 12c数据库尝试连接时引发异常

Caused by: java.sql.SQLException: [mobius][Oracle JDBC Driver][Oracle]ORA-28040: No matching authentication protocol

at com.mobius.jdbc.oraclebase.BaseExceptions40.createAppropriateSQLExceptionInstance(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseExceptions40.createSQLException(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseExceptions.createException(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseExceptions.getException(Unknown Source)
at com.mobius.jdbc.oracle.OracleImplConnection.connectAndAuthenticate(Unknown Source)
at com.mobius.jdbc.oracle.OracleImplConnection.open(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseConnection.doConnect(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseConnection.connect(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseConnection.setupImplConnection(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseConnection.open(Unknown Source)
at com.mobius.jdbc.oraclebase.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
... 52 more
可以更改sqlnet.ora的值


但这不是解决办法。您能否帮助找出Oracle 12c和11g中的通信协议之间的差异。

您能否明确说明您使用的驱动程序类型和版本,最好是确切的jar;您要连接到的数据库的哪个版本?我想你是说数据库从11g改成了12c,你想继续使用旧的JDBC驱动程序,对吗。问题是我们使用自己的jdbc驱动程序来实现sqlnet协议规范。Oracle 11g默认使用sqlnet版本=8,但Oracle 12c默认使用版本=10。也许我错了,但我找不到更多的信息。@Sergey Bartoshik,你确定吗?我认为甲骨文是保密的。据我所知,任何网络流量分析器都不支持此协议。我认为您以前的开发人员编写自己的驱动程序的可能性非常小,因为SQLNet协议不是公共的。它更有可能是围绕着司机的。例如,查看您的项目是否链接了任何Oracle类或包ojdbc6.jar。或者,如果您有com.mobius.jdbc.oraclebase.BaseDriver类的源代码,请查看它是否正在导入任何oracle。上课?坦率地说,我没有足够的关于这个司机的信息。所以你给了我另一种困惑的平静。谢谢去寻找完整的风景。有趣的是,我发现了这篇文章,所以sql*net可能不是专有协议,但我找不到最新的协议版本。
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8