RedHat 5 に Oracle 11g2 があり、デフォルトで Oracle がインストールされています。
次のテスト プログラムを実行すると、接続プールから接続を取得するのに最大 30 秒かかります。接続プール自体はすぐに作成されます。同じプログラム内の同じプールからの後続の createConnection 呼び出しも、完了するまでに同様の長い時間がかかります。
代わりに、接続プールを使用せずに直接接続を取得しようとすると、遅延なく接続が取得されます。
ありがとう
#include <iostream>
#include <occi.h>
#include <map>
using namespace std;
int main(){
oracle::occi::Environment* environment;
oracle::occi::Connection *con;
oracle::occi::Statement* stmt;
oracle::occi::ResultSet* res;
oracle::occi::ConnectionPool* connPool;
try{
environment = oracle::occi::Environment::createEnvironment(oracle::occi::Environment::DEFAULT);
connPool = environment->createConnectionPool("hr", "abcabc", "", 3, 5, 2);
con = connPool->createConnection("hr", "abcabc");
connPool->terminateConnection(con);
environment->terminateConnectionPool(connPool);
}
catch(oracle::occi::SQLException &e){
std::cout << e.what();
}
return 0;
}