首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DSS无法连接到不同的Oracle数据库版本

DSS无法连接到不同的Oracle数据库版本
EN

Stack Overflow用户
提问于 2016-09-27 22:20:52
回答 1查看 335关注 0票数 2

我正在使用Oracle (3.5.1)服务器连接一些WSO2 12c数据库。然而,为了支持传统,我还需要连接到不同的版本,如10g和8i。

这里有一个问题,使用ojdbc14.jar驱动程序,数据源:

8i工作

10g工作

12c给出:ORA-28040: No matching authentication protocol (由于12版本中SHA算法的变化)

使用ojdbc6.jarojdbc7.jar

10g工作

12c工作

8i提供了:

代码语言:javascript
复制
org.wso2.carbon.ndatasource.common.DataSourceException: Error establishing data source connection: 4  
...
Caused by: java.sql.SQLException: 4
    at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:290)
    at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
    at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702)
...
Caused by: java.lang.ArrayIndexOutOfBoundsException: 4
    at oracle.jdbc.driver.T4C8TTIdty.<init>(T4C8TTIdty.java:491)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1434)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
...

在寻找解决方案时,我找到了一些替代方案,通过在12c数据库的oracle/network/admin/sqlnet.ora文件中设置参数SQLNET.ALLOWED_LOGON_VERSION=8并使用ojdbc14.jar,但由于基础架构的限制,这种方法是不可接受的。

我想知道是否有一种方法可以在决策支持系统中同时使用这两个驱动程序,也许可以指定一些自定义Java类来扩展不同的OracleDriver类,并配置决策支持系统类加载器……或者一些不同的解决方案。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-10-03 10:59:57

这是oracle驱动程序中已知的向后兼容性限制12,在wso2 DSS中没有解决方案作为变通方法。这在Oracle version compatibility matrix中已经清楚地说明了。

您是否尝试过不同版本的旧版ojdbc驱动程序,它们可能在两个oracle版本上都有效(例如: oracle driver 10)。当然,并不是所有的功能都可以工作,但您最终可能会连接到所有数据库并顺利执行基本功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39727205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档