我在 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;
}