Oracle
 sql >> база данни >  >> RDS >> Oracle

WSJDBCConnection не обвива обекти от тип Oracle jdbc Connection

Току-що тествах това на WebSphere Liberty и следният код ми свърши работа:

@Resource(lookup = "jdbc/oracle")
private DataSource ds;

// ...

Connection conn = ds.getConnection();
OracleConnection oracleConn = conn.unwrap(oracle.jdbc.OracleConnection.class);

Моят server.xml изглежда така:

<dataSource jndiName="jdbc/oracle">
    <jdbcDriver libraryRef="oracleLib"/>
    <properties.oracle URL="${jdbc.URL}" user="${jdbc.user}" password="${jdbc.password}"/>
</dataSource>

<library id="oracleLib">
    <fileset dir="${server.config.dir}/oracle"/>
</library>

<application location="myApp.war" >
    <classloader commonLibraryRef="oracleLib"/>
</application>

Важното нещо, което трябва да се отбележи тук, е използването на commonLibraryRef на <classloader> елемент. Ако използвате privateLibraryRef няма да работи, защото дефинираният от приложението и сървър източник на данни ще използва изолирани зареждачи на класове за зареждане на Oracle JDBC класовете.

Ако този отговор не ви е полезен, моля, актуализирайте въпроса си с конфигурацията на server.xml, както и как получавате екземпляр на вашия DataSource .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете ненулево ограничение в oracle

  2. Oracle как да експортирате заявка в текстов/csv файл

  3. Процедурата на Oracle не връща резултати при изпълнение от задача на скрипт на SSIS

  4. Процедура за експортиране на таблица в множество csv файлове

  5. ORA-01461:може да обвърже LONG стойност само за вмъкване в LONG колона - Възниква при запитване