Настройка источника данных в WebSphere 6.1 для поддержки Oracle 11g XML-DB

Я использую функцию базы данных Oracle XML, и столбец определен как SYS.XMLTYPE. Я использую приведенный ниже код JDBC для выбора/обновления этого поля.

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

Мне пришлось настроить источник данных в Tomcat context.xml, как показано ниже, чтобы заставить его работать (добавив следующий тип, factory и driverClassName).

    <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

person Somu    schedule 07.07.2011    source источник


Ответы (2)


Попробуйте это и посмотрите, даст ли это вам необходимые ответы

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

ХТН

Манглу

person Manglu    schedule 08.07.2011
comment
Большинство дискуссий по этой теме, с которыми я сталкивался, предполагают, что WSCallHelper — единственный выход, но я действительно хотел избежать этого. Но все равно спасибо за ссылку. Сейчас я рассматриваю возможность использования собственного пула соединений в качестве альтернативы. - person Somu; 08.07.2011

Я понимаю, что вы не хотите нырять в болото WSCallHelper, но, к сожалению, я вынужден согласиться с преобладающим мнением. У меня была аналогичная ситуация некоторое время назад с Oracle и CLOB/BLOB (до того, как они реализовали это в соответствии со стандартами JDBC в драйвере), и WSCallHelper действительно был единственным путем вперед, когда вам нужно получить доступ к необработанному драйверу JDBC в ресурсе, управляемом контейнером. /бассейн.

person pap    schedule 25.07.2011
comment
Хотел избежать кода, специфичного для WebSphere, поскольку мое приложение развернуто как на Tomcat, так и на WAS в разных средах. Я больше не использую источник данных, управляемый контейнером. - person Somu; 03.11.2011