occi 连接池中连接失效
连接失效导致进程卡死。 过好久才能入库成功或者捕获异常,请问有什么办法能解决问题
这个是创建连接池代码
这是获取连接代码
这个是class
这个是创建连接池代码
bool OraConnPool::createConnPool(const std::string& username, const std::string& passwd, const std::string& connectString, int maxCon, int minCon, int incrCon)
{
this->username = username;
this->password = passwd;
this->connstring = connectString;
this->maxCon = maxCon;
this->minCon = minCon;
this->incrCon = incrCon;
setenv("NLS_LANG", "SIMPLIFIED CHINESE_CHINA.ZHS32GB18030", 1);
//setenv("NLS_LANG", "american_america.AL32UTF8", 1);
sErrInfo="";
try
{
//env = Environment::createEnvironment(Environment::DEFAULT);
env = Environment::createEnvironment(Environment::Mode(Environment::OBJECT|Environment::THREADED_MUTEXED));
if (env == NULL)
{
sErrInfo="CreateConnpool Error!";
return false;
}
scp = env->createStatelessConnectionPool(username.c_str(), passwd.c_str(), connectString.c_str(), maxCon, minCon, incrCon, StatelessConnectionPool::HOMOGENEOUS);
scp ->setTimeOut(10000);
if (scp == NULL)
{
Environment::terminateEnvironment(env);
sErrInfo="Connection oracle error!";
return false;
}
sErrInfo="CreateConnpool success! ";
return true;
}
catch(SQLException ex)
{
sErrInfo=ex.getMessage().c_str();
}
return false;
}这是获取连接代码
Connection* OraConnPool::getConnection()
{
Connection * pConn = NULL;
pConn = scp->getConnection();
return pConn;
}
这个是class
class OraConnPool
{
protected:
OraConnPool();
public:
bool createConnPool(const std::string& username, const std::string& passwd, const std::string& connectString, int maxCon, int minCon, int incrCon);
bool reCreateConnPool();
void destroyConnPool();
string getErrData(void);
Connection * getConnection();
void freeConnection(Connection*);
static OraConnPool* getInstance();
bool checkConnect();
~OraConnPool();
private:
Environment * env;
StatelessConnectionPool * scp;
string sErrInfo;
static OraConnPool* _instance;
std::string username;
std::string password;
std::string connstring;
int maxCon;
int minCon;
int incrCon;
};
...全文
ADS交叉耦合振荡器VCO仿真 本文主要参考视频中如何使用进行ADS交叉耦合振荡器仿真和分析,由于视频中有诸多错误和视频清晰度较低,虽然视频博主及时改正,为了节省学习时间,可以直接参考本文。 阅读详情
相关推荐
Oracle10g occi 连接池创建方法
Oracle10g occi 连接池创建方法Oracle10g occi 连接池创建方法
VC occi连接oracle 源代码
VC使用occi 连接 orcale 数据库。包括代码中包括一个写好的使用事例。
OCCI 接口封装包
封装了OCCI的底层接口,是的操作变得容易,而且方便。 只需要配置连接池的参数,调用一下初始化函数,然后,你就可以方便的执行查询和增删改的SQL。详细信息,请参考Readme.txt.
C++-OCCI使用指南
C++-OCCI操作手册 包括连接,增删查改等操作,包含例子说明
occi例子
ORACLE自带的OCCI的例子,放在这里供有心人学习


