sql >> データベース >  >> RDS >> Oracle

OracleJDBCUCPおよびJava

    したがって、注意深く、Oracleフォーラムから少し余分な助けを得た後。上記のコードが私が受け取っているエラーメッセージを表示している理由をついに理解しました。 応答についてはこちらをご覧ください ループが発生するたびにデータソースを設定するため、基本的に複数のプールを作成しています。これを行う方法は、1つのプールを作成し、そのプールから接続をプルすることです。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. MariaDBで大文字に変換する方法

    2. MYSQLは今日から挿入された行を取得します

    3. MariaDBデータベース内のすべてのテーブルを一覧表示する4つの方法

    4. org.postgresql.util.PSQLException:エラー:リレーションapp_userが存在しません