【问题标题】:Connecting to Oracle12C database using standalone java client Vs Connecting through Websphere使用独立 java 客户端连接到 Oracle12C 数据库与通过 Websphere 连接
【发布时间】:2018-11-18 08:50:23
【问题描述】:

当使用 ojdbc6.jar 或 ojdbc5.jar 时,从独立 Java 应用程序到 Oracle 12c 的连接成功。

连接字符串:jdbc:oracle:thin:@serverName:port:sid

而通过 Websphere 连接时相同的连接字符串失败,但出现以下异常。

java.sql.SQLException: ORA-28040: 没有匹配的身份验证协议 DSRA0010E: SQL 状态 = 99999,错误代码 = 28,040

注意:试过ojdbc8.jarojdbc6.jar

【问题讨论】:

    标签: websphere oracle12c


    【解决方案1】:

    ORA-28040: No matching authentication protocol 错误通常表明您正在使用较旧的 JDBC 驱动程序和较新的数据库。您应该更新 JDBC 驱动程序,使其与数据库版本相同,或者使用适当的 SQLNET.ALLOWED_LOGON_VERSION_SERVER/SQLNET.ALLOWED_LOGON_VERSION_CLIENT 值更新 sqlnet.ora 文件。请参阅Oracle's SQLNET documentation 了解更多信息。

    请注意,如果您认为您正在使用与数据库相同版本的 JDBC 驱动程序,则可能在 WebSphere 环境中使用了不同的 JDBC 驱动程序。如果是这样的话:

    1. 检查您的应用程序中是否包含其他 JDBC 驱动程序。
    2. 检查是否在 WebSphere 中使用较旧的 JDBC 驱动程序配置了其他 Oracle JDBC 提供程序。如果是这样,请修改您的配置,以便您的所有提供程序都使用相同版本的 Oracle JDBC 驱动程序,或者您需要Isolate your JDBC Providers

    【讨论】:

    • 谢谢!问题是我有 2 个版本的 JDBC 驱动程序,并且有两个数据源提供程序,每个提供程序都引用其中一个版本。显然,类路径中的两个版本的 jdbc 驱动程序造成了这个问题。我升级了所有数据源以使用 ojdbc6.jar 并且它工作正常。
    猜你喜欢
    • 2013-02-01
    • 2013-11-08
    • 2012-05-24
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 2015-01-19
    相关资源
    最近更新 更多