OTL4使用ODBC连接ORACLE数据库无法关闭链接,释放内存

#include "stdafx.h"
#include <iostream>
using namespace std;
#include <stdio.h>
#include <Windows.h>
#define  OTL_ODBC
#include "otlv4.h" 



UINT run(LPVOID pd)
{
otl_connect db; // connect object
try{


//	db.rlogon("Driver={Microsoft ODBC for Oracle};ConnectString=MYTEST;Uid=sms;Pwd=sms;");无法关闭连接,内存泄露
	
	db.rlogon("Driver={Oracle in OraClient11g_home1};Dbq=MYTEST;Uid=sms;Pwd=sms;",1);//正常关闭.

}
catch(otl_exception& p){ // intercept OTL exceptions
	cerr<<p.msg<<endl; // print out error message
	cerr<<p.stm_text<<endl; // print out SQL that caused the error
	cerr<<p.var_info<<endl; // print out the variable that caused the error
}

//db.commit();
db.logoff(); // disconnect from Oracle


return 0;
}


int main()
{
 //otl_connect::otl_initialize(); // initialize OCI environment
 while(1)
 {
	run(NULL);
	 Sleep(1);
 }

}

结果测试 如果使用OTL ODBC 连接 ORACLE ,并且使用微软自带的驱动,就会出问题,无法释放内存,内存会持续飙升,可能是由于Microsoft ODBC for Oracle驱动太老了,无法适应新的oracle,

所以如果你使用OTL ODBC连接 ORACLE数据库,建议使用官方驱动.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值