6

アプリケーションバージョン:JBoss 7.0.0、Oracle 11g(ojdbc6.jar)およびJDK6バージョン

関数を使用してCLOBデータ型の値を挿入しようとすると問題が発生しCLOB.createTemporary、以下の例外が発生します。

java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 cannot be cast to oracle.jdbc.OracleConnection

複数のフォーラムで検索した後、解決策が見つかりませんでした。 https://forums.oracle.com/forums/thread.jspa?threadID=279238

WARファイルをデプロイしてJBossoracleドライバープール設定を設定するために必要な基本的な手順が実行されます。しかし、それでもこの問題を解決することはできません。

この問題を解決するための解決策を提供してください。

4

3 に答える 3

9

私は以下のアプローチで私の問題を解決しました。

概要:クラスローダーは、サーバーのlib / modulesからWebアーカイブ(WARファイル)にOracleドライバーをロードしないでください。oracleドライバーはサーバーライブラリ(JBoss 7 ver)にのみ保持してください。

JBoss 7:

  • 新しいJBossデプロイメント記述子ファイル(jboss-deployment-structure.xml)を作成しました

    1. jbossデプロイメント構造ファイルの(ironjacamar-jdbc-1.0.3.Final.jar)ironモジュールを更新しました
    2. JBoss7構造のモジュールとしてojdbc6.jarを作成しましたjbossデプロイメント構造ファイルのobjbcモジュールを更新しました
    3. 例:

      <jboss-deployment-structure> 
          <deployment>
              <dependencies>
                  <module name="org.jboss.ironjacamar.jdbcadapters" slot="main"/>
                  <module name="com.oracle.ojdbc6" slot="main"/>
              </dependencies>
          </deployment> 
      </jboss-deployment-structure>
      

Webモジュール: -Webアーカイブ(WARファイル)からojdbc6.jarファイルを削除しました

解決に問題があれば教えてください。

于 2012-04-23T09:50:19.043 に答える
1

ここで起こっていることは、JBossがOracle接続(oracle.jdbc.OracleConnection)を独自の接続(org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6)でラップすることです。基になる接続を取得するには、#getUnderlyingConnection()を呼び出す必要があります。

WrappedConnection wrapped = (WrappedConnection) conn;
CLOB clob = CLOB.createTemporary(wrapped.getUnderlyingConnection(), true, CLOB.DURATION_SESSION);

しかし、私はあなたの場合、以下がうまくいかないかどうか自問します。

ps.setClob(4, new StringReader(data));
于 2012-04-23T05:08:10.427 に答える
0

Jruby 1.7.2、JBoss 7.1、およびOracle(oracle_enhancedアダプター)を使用するRailsアプリで同様の問題が発生しました

Java::JavaLang::ClassCastException: oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection

この解決策は私のために働いた。

Railsアプリのconfig/ディレクトリにjboss-deployment-structure.xmlを配置し、warblerconfigを更新してファイルをwarファイルに含めました。

config.webinf_files += FileList["config/jboss-deployment-structure.xml"]

デプロイ後、すべて正常に機能しました...Thxはたくさんあります。

于 2013-01-21T14:23:34.830 に答える