sql >> Database teknologi >  >> RDS >> Oracle

Oracle JDBC UCP og Java

Så efter omhyggelig dog og få lidt ekstra hjælp fra Oracle-forummet. Jeg forstår endelig, hvorfor ovennævnte kode giver den fejlmeddelelse, som jeg modtager. Se her for svar Fordi jeg indstiller datakilden hver gang løkken går rundt, opretter jeg i det væsentlige mere end én pool. Måden at gøre dette på er at oprette en pulje og derefter trække forbindelser fra den pulje. Ny kode til at erstatte GetOracleConnection Jeg oprettede en singleton-klasse til datakilde og i kode henter jeg simpelthen forbindelsen fra datakilden 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. Sådan indstilles AUTO_INCREMENT fra en anden tabel

  2. Fejl:[email protected] install:`node-gyp rebuild` under installation af oracledb-modulet

  3. Vil GETUTCDATE() returnere den samme værdi, hvis den bruges to gange i den samme sætning?

  4. SUM et par COUNTS fra to tabeller baseret på en tidsvariabel