/ / Getting oracle.jdbc.driver.LogicalConnection, potrebujeme oracle.jdbc.OracleConnection - java, oracle, jdbc, websphere

Získanie oracle.jdbc.driver.LogicalConnection, potreba oracle.jdbc.OracleConnection - java, oracle, jdbc, websphere

Snažím sa pripojiť k databáze Oracle v rámci Java aplikácie spustenej na WebSphere. Musím byť schopný vytvoriť deskriptor poľa, ktorý sa použije vo výzve na postup.

Kód vyzerá takto:

Connection conn=null;
ArrayDescriptor arrayDescriptor;
Connection tmpCon = jdbcTemplate.getDataSource().getConnection();
conn =  WSCallHelper.getNativeConnection(tmpCon);
arrayDescriptor = ArrayDescriptor.createDescriptor("t_my_array",conn);
IDs = new oracle.sql.ARRAY(arrayDescriptor, conn, list.toArray());

Linka, ktorá volá ArrayDescriptor.createDescriptor hodí výnimku pre triedy

java.lang.ClassCastException: oracle.jdbc.driver.LogicalConnection nekompatibilná s oracle.jdbc.OracleConnection na oracle.sql.ArrayDescriptor.createDescriptor (ArrayDescriptor.java:149) na oracle.sql.ArrayDescriptor.createDescriptor (ArrayDescriptor.java:115)

Prechádzať to cez debugger, to vidím conn je určite a oracle.jdbc.driver.LogicalConnection, Problém je, že nemôžem skutočne odkazovať LogicalConnection v mojom kóde, pretože táto trieda nie je verejná, takže nemôžem robiť niečo takéto:

arrayDescriptor = ArrayDescriptor.createDescriptor("t_my_array",((LogicalConnection)conn).getWrapper());

.

A to:

arrayDescriptor = ArrayDescriptor.createDescriptor("t_my_array",((oracle.jdbc.driver.OracleConnection)conn).getWrapper());

tiež vráti výnimku obsadenia triedy:

java.lang.ClassCastException: oracle.jdbc.driver.LogicalConnection nie je kompatibilný s oracle.jdbc.driver.OracleConnection

Musím mať OracleConnection objekt, ale nemôžem sa zdať LogicalConnection to sa vráti ku mne. Už to niekto videl predtým? Cítim, že tu chýba niečo skutočne zrejmé, ale možno potrebujem len ďalší šálku kávy ...

odpovede:

2 pre odpoveď č. 1

@ Alex Poole mi ukázal správnym smerom. Maven obsahoval Oracle jar, verziu 10.2.0.1.0 a WebSphere mal ten istý jar, ale verziu 10.2.0.4.0.

Po oprave POM, aby verzia 10.2.0.1.0 verzie nemala byť nasadená, problém sa zdá byť vyriešený.