sql >> Database teknologi >  >> RDS >> PostgreSQL

hvordan man udpakker PostgreSQL-forbindelsen fra IBM WSJdbc41Connection

Hvis du gerne vil udpakke et JDBC-objekt (DataSource, Connection, osv.) til en leverandørspecifik grænseflade, skal JDBC-driveren i den konfigurerede <datSource> skal være tilgængelig for applikationsklasseindlæseren. Konfigurationen vil se nogenlunde sådan ud:

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

Derfra kan du pakke objektet ud på samme måde, som du gjorde før, nemlig:

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

Der er også en enableConnectionCasting boolesk attribut på <dataSource> konfiguration, som automatisk kalder unwrap for dig ved getConnection() .

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

Så er java-koden lidt enklere:

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



  1. Søger efter avanceret php/mysql-pagineringsscript

  2. problem med mysqli_real_escape_string og dobbelte anførselstegn

  3. Websted nede og Twitter-feed

  4. Valg efter måned i PostgreSQL