Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle JDBC UCP и Java

Така че след като внимавате и получавате малко допълнителна помощ от форума на Oracle. Най-накрая разбирам защо горепосоченият код дава съобщението за грешка, което получавам. Вижте тук за отговор Тъй като настройвам източника на данни всеки път, когато цикълът върви, по същество създавам повече от един пул. Начинът да направите това е да създадете един пул и след това да изтеглите връзки от този пул. Нов код за заместване на GetOracleConnection Създадох единичен клас за източник на данни и в кода просто извличам връзката от източника на данни като такъв

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL Часове Разлика между датите в ЧЧ:ММ:СС

  2. Как да използвам параметри в клауза 'where value in...'?

  3. OCIError при проблем с „изискване“ на разрешения?

  4. Дайте идентификационни данни на UTL_MAIL.SEND, за да заобиколите ORA-29278

  5. Има ли най-добрият начин да избегнете изпълнението на процес повече от веднъж в Oracle?