2011-07-07 7 views
0

OracleのXMLデータベース機能を使用しており、列はSYS.XMLTYPEと定義されています。私はこのフィールドを選択/更新するために以下のJDBCコードを使用しています。Oracle 11g XML-DBサポート用のWebSphere 6.1でのデータソースの設定

XMLType xmlType = (XMLType) rs.getObject(1); 
stmt.setObject(1, XMLType.createXML(connection, xmlString)); 

私はそれが(次の型、工場やdriverClassNameを追加することによって)動作させるために、以下のようにTomcatののcontext.xmlでのデータソースを設定する必要がありました。

<Resource 
       type="oracle.jdbc.pool.OracleDataSource" 
       factory="oracle.jdbc.pool.OracleDataSourceFactory" 
       driverClassName="oracle.jdbc.driver.OracleDriver" 
       ... 

ただし、WebSphereでのデプロイメントでは、以下の例外が発生しています。 WAS 6.1の同等のデータ・ソース構成を手伝って、これらのエラーを取り除くことができましたか?

java.lang.ClassCastException: oracle.sql.OPAQUE incompatible with oracle.xdb.XMLType 
java.lang.ClassCastException: com.ibm.ws.rsadapter.jdbc.WSJdbcConnection incompatible with oracle.jdbc.OracleConnection 

答えて

1

HTH

Manglu

私はあなたがダウンしてダイビングをしたくないということを理解
+0

私はこの話題に関して、WSCallHelperが唯一の方法であることを示唆しているようですが、それは私が本当に避けたいものです。とにかくリンクに感謝します。私は自分の接続プールを代わりに使用することを検討しています。 – Somu

0

これを試してみて、それがあなたを提供する場合に必要な答え

http://community.jboss.org/wiki/MappingXMLToOracleXMLTYPEInIBMWebspsherePlatform

で見ますWSCallHelperは沼地ですが、残念ながら私は一般的な提案に同意しなければなりません。私は、OracleとCLOB/BLOBを使用して(ドライバのJDBC標準に従って実装する前に)似たような状況に陥っていました.WSCallHelperは、コンテナ管理のリソースでraw JDBCドライバにアクセスする必要があるときには、 /プール。

+0

私のアプリが異なる環境のTomcatとWASの両方に配備されているため、WebSphere固有のコードを避けたい。私はもはやコンテナ管理のデータソースを使用していません。 – Somu