Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle JDBC UCP i Java

Więc po ostrożnym i uzyskaniu dodatkowej pomocy z forum Oracle. W końcu rozumiem, dlaczego wyżej wymieniony kod wyświetla komunikat o błędzie, który otrzymuję. Odpowiedź znajdziesz tutaj Ponieważ ustawiam źródło danych za każdym razem, gdy pętla się porusza, zasadniczo tworzę więcej niż jedną pulę. Sposobem na to jest utworzenie jednej puli, a następnie ściąganie połączeń z tej puli. Nowy kod zastępujący GetOracleConnection Stworzyłem klasę singleton dla źródła danych i w kodzie po prostu pobieram połączenie ze źródła danych, takie jak takie

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. Jak uzyskać informacje o błędzie kompilacji w Oracle/TOAD?

  2. Różne daty Oracle 11g z TOAD

  3. Wstaw wartość domyślną po wstawieniu null

  4. ORA-907 brakuje prawego nawiasu przy użyciu słowa kluczowego AS

  5. wybierz * z nazwa_tabeli, gdzie kolumna, np. „ ”