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

как да разопаковате PostgreSQL връзка от IBM WSJdbc41Connection

Ако искате да разопаковате JDBC обект (източник на данни, връзка и т.н.) към специфичен за доставчика интерфейс, драйверът JDBC в конфигурирания <datSource> трябва да е достъпен за зареждащия клас на приложението. Конфигурацията ще изглежда по следния начин:

<application location="oraclejdbcfat.war" >
    <!-- expose the 'DBLib' containing the JDBC driver jar to the app classloader -->
    <classloader commonLibraryRef="DBLib"/>
</application>

<library id="DBLib">
    <fileset dir="${server.config.dir}/postgresql/" includes="*.jar"/>
</library>

<dataSource jndiName="jdbc/myDS">
    <jdbcDriver libraryRef="DBLib"/>
    <properties .../>
</dataSource>

Оттам можете да разопаковате обекта по същия начин, както правехте преди, а именно:

DataSource ds = InitialContext.doLookup("jdbc/myDS");
Connection conn = ds.getConnection();
PGConnection pgConn = conn.unwrap(org.postgresql.PGConnection.class);

Освен това има enableConnectionCasting булев атрибут на <dataSource> конфигурация, която автоматично ще извика unwrap вместо вас при getConnection() .

<dataSource jndiName="jdbc/myDS" enableConnectionCasting="true">

Тогава кодът на Java е малко по-прост:

DataSource ds = InitialContext.lookup("jdbc/indi");
PGConnection pgConn = (PGConnection) ds.getConnection();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Убийте сесия/връзка на postgresql

  2. Разделете стойности, разделени със запетая, в целева таблица с фиксиран брой колони

  3. Връщане на множество SERIAL стойности от пакетно вмъкване на Posgtres

  4. Как да върна редове от резултата от заявката във функцията на PostgreSQL?

  5. Получаване на резултати между две дати в PostgreSQL