sql >> Databasteknik >  >> RDS >> PostgreSQL

hur man packar upp PostgreSQL-anslutningen från IBM WSJdbc41Connection

Om du vill packa upp ett JDBC-objekt (DataSource, Connection, etc) till ett leverantörsspecifikt gränssnitt, JDBC-drivrutinen i den konfigurerade <datSource> måste vara tillgänglig för applikationsklassladdaren. Konfigurationen kommer att se ut ungefär så här:

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

Därifrån kan du packa upp objektet på samma sätt som du gjorde tidigare, nämligen:

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

Det finns också en enableConnectionCasting booleskt attribut på <dataSource> konfiguration som automatiskt anropar unwrap åt dig vid getConnection() .

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

Då är java-koden lite enklare:

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



  1. hur man fixar detta fel PHP Fatalt fel:Anrop till odefinierad funktion mysql_query() i cake bake-konsolen

  2. 2PL, rigorös vs strikt modell, finns det någon fördel?

  3. Hur man förbättrar prestanda för SQLite-databas för Android

  4. Anslutning med mysql med netbeans för jsp