sql >> Database >  >> RDS >> Oracle

hoe een dbcp-verbinding naar een Oracle-verbinding te casten?

Je zou gewoon naar de DBCP-specifieke Connection-klasse moeten kunnen casten en van daaruit de innerlijke Oracle-verbinding kunnen ophalen:

import org.apache.commons.dbcp.DelegatingConnection;

DelegatingConnection dc = (DelegatingConnection)conn;
OracleConnection oc = (OracleConnection)pc.getInnermostDelegate();

Als je Tomcat's ingebouwde kopie van DBCP gebruikt, dan is de import die je nodig hebt:

import org.apache.tomcat.dbcp.dbcp.DelegatingConnection;

Of u kunt de verbindingspooling gebruiken die is ingebouwd in de Oracle JDBC-driverimplementatie. Dit retourneert een Oracle-verbinding. Een eenvoudige opstelling zou zijn:

<Resource auth="Container"
          connectionCacheName="CXCACHE"
          connectionCacheProperties="{MaxStatementsLimit=5,MinLimit=1, MaxLimit=1, ValidateConnection=true}"
          connectionCachingEnabled="true"
          description="Oracle Datasource"
          factory="oracle.jdbc.pool.OracleDataSourceFactory"
          name="jdbc/TestDB"
          user="default_user" 
          password="password"
          type="oracle.jdbc.pool.OracleDataSource"
          url="jdbc:oracle:thin:@//localhost:1521/orcl"
          />


  1. Filter op uitvoerclausule sql

  2. hoe de juiste telling te krijgen

  3. SELECT die een lijst met waarden retourneert die in geen enkele rij voorkomen

  4. Selecteer verschillende records voor een join