sql >> Databáze >  >> RDS >> PostgreSQL

jak rozbalit připojení PostgreSQL z IBM WSJdbc41Connection

Pokud byste chtěli rozbalit objekt JDBC (DataSource, Connection atd.) do rozhraní specifického pro dodavatele, ovladač JDBC v nakonfigurovaném <datSource> musí být k dispozici zavaděči tříd aplikace. Konfigurace bude vypadat nějak takto:

<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>

Odtud můžete objekt rozbalit stejným způsobem, jakým jste to dělali předtím, konkrétně:

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

K dispozici je také enableConnectionCasting booleovský atribut na <dataSource> konfiguraci, která automaticky zavolá unwrap po getConnection() .

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

Pak je java kód o něco jednodušší:

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



  1. Dotaz podobný MySQL běží extrémně pomalu pro tabulku 5000 záznamů

  2. jak hledat řetězec uložených procedur SQL Server 2008 R2?

  3. Jaký je nejúčinnější způsob, jak přetrvat tisíce subjektů?

  4. Rozdíl mezi Select Unique a Select Distinct