gpt4 book ai didi

java - 将 java.sql.Connection 转换为 Oracle Connection

转载 作者:行者123 更新时间:2023-11-30 10:22:55 31 4
gpt4 key购买 nike

我有一个 Java 应用程序,我在其中调用 Oracle 过程并将 Oracle 数组作为参数传递。我的申请是 EAR。

在 Java 7 和 Jboss 7 上一切正常,但是当我们升级到 Java 8 和 Wildfly 10 时,我们得到了这个错误:

 java.lang.ClassCastException:
org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7 cannot be cast
to org.jboss.jca.adapters.jdbc.WrappedConnection

经过一番研究,我将代码更改为:

WrappedConnectionJDK7  wc = (WrappedConnectionJDK7 ) conn;
OracleConnection oraconn = (OracleConnection) wc.getUnderlyingConnection();

并且我在 pom.xml 中添加了依赖

<dependency>
<groupId>org.jboss.ironjacamar</groupId>
<artifactId>ironjacamar-jdbc</artifactId>
<version>1.3.2.Final</version>
</dependency>

但我仍然得到这个错误:

java.lang.ClassCastException: 
org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7 cannot be cast to
org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7

最佳答案

我之前不得不解开类似的连接(但不完全相同的包装类)并使用过:

OracleConnection oconn;
if ( conn.isWrapperFor( OracleConnection.class ) )
{
oconn = (OracleConnection) conn.unwrap( OracleConnection.class );
}
else
{
throw new SQLException( "Not an Oracle Connection" );
}

关于java - 将 java.sql.Connection 转换为 Oracle Connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47308853/

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