sql >> Databasteknik >  >> RDS >> Oracle

Oracle JDBC UCP och Java

Så efter att ha varit försiktig och fått lite extra hjälp från Oracle-forumet. Jag förstår äntligen varför den ovan refererade koden ger felmeddelandet som jag får. Se här för svar Eftersom jag ställer in datakällan varje gång loopen går runt, skapar jag i princip mer än en pool. Sättet att göra detta är att skapa en pool och sedan dra anslutningar från den poolen. Ny kod för att ersätta GetOracleConnection Jag skapade en singleton-klass för datakälla och i kod hämtar jag helt enkelt anslutningen från datakällan som sådan

Connection conn = Database.getInstance().GetPoolSource().getConnection();

package com.jam.DB;

import oracle.ucp.jdbc.PoolDataSource;
import oracle.ucp.jdbc.PoolDataSourceFactory;

public class Database {

private static Database dbIsntance;
private static PoolDataSource pds;

private Database() {
    // private constructor //
}

public static Database getInstance() {
    if (dbIsntance == null) {
        dbIsntance = new Database();
    }
    return dbIsntance;
}

public PoolDataSource GetPoolSource() {

    if (pds == null) {
        pds = PoolDataSourceFactory.getPoolDataSource();

        try {

            pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
            pds.setURL("jdbc:oracle:thin:@//localhost:1521/xe");
            pds.setUser("system");
            pds.setPassword("xxxx");
            pds.setMaxStatements(15);
            return pds;

        } catch (Exception e) {

        }
        return pds;
    }

    return pds;

  }
}



  1. Returnera en lista över främmande nycklar i SQLite

  2. Vilolägesfel:aktuell transaktion avbryts, kommandon ignoreras till slutet av transaktionsblocket

  3. Hur ansluter man R med PostgreSQL på OSX 10.10.2?

  4. Välj endast det sista värdet med hjälp av group by at mysql