sql >> Database >  >> RDS >> Oracle

Oracle JDBC UCP en Java

Dus na voorzichtigheid en een beetje extra hulp van het Oracle-forum. Ik begrijp eindelijk waarom de bovenstaande code de foutmelding geeft die ik ontvang. Zie hier voor reactie Omdat ik de gegevensbron instel telkens wanneer de lus rondgaat, maak ik in wezen meer dan één pool. De manier om dit te doen, is door één pool aan te maken en vervolgens verbindingen uit die pool te halen. Nieuwe code ter vervanging van de GetOracleConnection Ik heb een singleton-klasse voor gegevensbron gemaakt en in code haal ik eenvoudig de verbinding van de gegevensbron op zoals deze

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. Kun je meerdere instructies in één queryreeks plaatsen in Oracle jdbc?

  2. Alternatief synoniem in SQL Server in één transactie

  3. Rapportageservices voor SQL-servers:hoe u kunt voorkomen dat een rapport wordt geactiveerd wanneer het wordt geopend?

  4. Een inleiding tot datamining