ConnectionPool使用OCCI在Oracle上创建连接需要很长时间
我在RedHat 5上安装了Oracle 11g2,默认安装了Oracle 当我运行下面的测试程序时,从连接池获取连接需要30秒。连接池本身会立即创建。来自同一程序内同一池的后续createConnection调用也需要类似的长时间才能完成 相反,如果我尝试直接获得连接,即不使用连接池,我会毫不延迟地获得连接 谢谢ConnectionPool使用OCCI在Oracle上创建连接需要很长时间,oracle,Oracle,我在RedHat 5上安装了Oracle 11g2,默认安装了Oracle 当我运行下面的测试程序时,从连接池获取连接需要30秒。连接池本身会立即创建。来自同一程序内同一池的后续createConnection调用也需要类似的长时间才能完成 相反,如果我尝试直接获得连接,即不使用连接池,我会毫不延迟地获得连接 谢谢 #include <iostream> #include <occi.h> #include <map> using namespace
#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;
}
我在Rh6.3上运行基于Oracle rpm的客户机时遇到了类似的问题。我用以下值更改了$ORACLE_HOME/network/admin中的sqlnet.ora文件 name.DIRECTORY_PATH=TNSNAMES,EZCONNECT SQLNET.AUTHENTICATION\u SERVICES=NONE 我重新启动了我的程序,连接问题得到了解决 参考: