亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

proc oracle 連接釋放不了的問題

2024-08-29 13:54:03
字體:
來源:轉載
供稿:網友
轉自:http://www.91linux.com/html/article/database/Oracle/20081205/14333.html

PRoc oracle 連接釋放不了的問題
筆者公司的應用系統每隔一段時間,oracle連接就達到上限了;懷疑是應用沒有正確的釋放oracle連接;說來慚愧,proc斷斷續續的用了幾年,可能是以前公司的代碼寫得太好了,從沒有去關心基本的proc連接、釋放是怎么處理的,這問題逼得我得去熟悉這方面的東西了;弄了兩天才找到問題的根源,其中大半時間是熟悉原系統的代碼、定位問題,其他時間是找網上的資料看、做相關的測試;

經過分析,將問題定位在了數據庫打開、關閉的相關函數;后臺c++應用的根本沒有成功的釋放oracle 連接,數據庫操作函數如下:

sql_context db_open(const char* usr, const char* pwd)
{

EXEC SQL BEGIN DECLARE SECTION;
sql_context ctx;
char username[64];
char passwd[64];
EXEC SQL END DECLARE SECTION;

struct sqlca sqlca;
EXEC SQL ENABLE THREADS;
EXEC SQL CONTEXT ALLOCATE :ctx;
EXEC SQL CONTEXT USE :ctx;

strcpy(username,usr);
strcpy(passwd,pwd);

EXEC SQL CONNECT :username IDENTIFIED BY :passwd;

if (sqlca.sqlcode)
{
printf( "連接oracle數據庫失敗!");
return NULL;
}

return ctx;
}

int db_close(sql_context ctx)
{
struct sqlca sqlca;
EXEC SQL CONTEXT FREE :ctx;
if( SQLCODE != 0 )
{
printf( "斷開數據庫連接失敗!%d:%s/n",SQLCODE,sqlca.sqlerrm.sqlerrmc );
return -1;
}
return 0;
}

經過測試,發現以上db_close根本沒有釋放數據庫連接;經過和網上示范程序的對比,終于發現了問題:

原來oracle 的sql context,需要 release之后,才能正確釋放數據庫連接;如果不做release,free context不會報任何錯誤(即db_close中并不返回-1),但是數據庫連接卻不會釋放(對oracle的這個處理機制,汗一個-_-|||,或者說明我的proc比較弱吧,可能還有別的解決辦法);

把db_close改成如下,問題解決:

int db_close(sql_context ctx)
{
struct sqlca sqlca;

EXEC SQL CONTEXT USE :ctx;
EXEC SQL COMMIT WORK RELEASE;
EXEC SQL CONTEXT FREE :ctx;

if( SQLCODE != 0 )
{

printf( "斷開數據庫連接失敗!%d:%s/n",SQLCODE,sqlca.sqlerrm.sqlerrmc );
return -1;
}
return 0;
}


注意,以上CONTEXT FREE 執行成功或者失敗,SQLCODE 都是0 ?。?!



本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/workhardupc100/archive/2009/12/30/5108876.aspx
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人一区二区三区电影| 日本在线精品视频| 亚洲国产中文字幕久久网| 日本一欧美一欧美一亚洲视频| 亚洲一区二区三区成人在线视频精品| 欧美二区乱c黑人| 国产999在线观看| 亚洲网址你懂得| 国产精品久久久久久av下载红粉| 国产精品国模在线| 97在线视频免费观看| 亚洲人成电影网站色xx| 91黑丝在线观看| 一区二区三区动漫| 91精品啪在线观看麻豆免费| 亚洲一区二区三区成人在线视频精品| www欧美日韩| 国产精品99久久久久久久久| 中文字幕日韩av综合精品| 91精品国产综合久久久久久久久| 成人免费大片黄在线播放| 亚洲老头老太hd| 韩国精品久久久999| 日韩第一页在线| 精品亚洲男同gayvideo网站| 久久男人的天堂| 欧美裸体xxxx极品少妇软件| 国产噜噜噜噜噜久久久久久久久| 精品在线小视频| 国产日韩欧美自拍| 亚洲美女福利视频网站| 日韩精品视频在线免费观看| 国产精品日韩欧美| 精品无人区太爽高潮在线播放| 亚洲一区亚洲二区| 亚洲无限乱码一二三四麻| 成人自拍性视频| 韩国国内大量揄拍精品视频| 中文字幕亚洲自拍| 疯狂做受xxxx高潮欧美日本| 97涩涩爰在线观看亚洲| 国内自拍欧美激情| 亚洲一区二区三区在线免费观看| 欧美黄网免费在线观看| 欧美性猛交xxxx乱大交蜜桃| 久久精品久久久久久| 97精品伊人久久久大香线蕉| 国产精品成人一区二区| 亚洲男人天堂2023| 国产又爽又黄的激情精品视频| 亚洲国产另类 国产精品国产免费| 91亚洲精品在线| 91精品国产成人www| 日韩视频在线观看免费| 一区二区欧美久久| 国产精品男人的天堂| 久久免费视频网| 欧美乱大交xxxxx| 亚洲一区二区少妇| 欧美精品免费在线观看| 亚洲区免费影片| 久久97久久97精品免视看| 欧美激情a在线| 欧美超级乱淫片喷水| 色综合久久88色综合天天看泰| 亚洲久久久久久久久久| 国产69精品久久久久99| 在线视频国产日韩| 欧美一级片在线播放| 日本人成精品视频在线| 亚洲国产欧美精品| 欧美一区二区色| 日韩视频精品在线| 精品国产福利视频| 亚洲综合在线中文字幕| 青草成人免费视频| 久久免费福利视频| 亚洲欧洲在线免费| 国产精品自产拍在线观看中文| 最新日韩中文字幕| 亚洲综合精品一区二区| 91精品国产自产在线老师啪| 欧美日韩国内自拍| 亚洲一区二区免费| 亚洲精品影视在线观看| 欧美成人性生活| 欧美激情xxxx| 91精品久久久久久久久久入口| 成人精品一区二区三区| 日韩av不卡在线| 国内精品小视频在线观看| 日韩视频免费中文字幕| 91精品国产成人www| 久久久久久香蕉网| 亚洲精品网站在线播放gif| 国产在线精品播放| 亚洲综合在线做性| 日韩美女视频免费在线观看| 亚洲精品成人av| 欧美亚洲视频在线观看| 久久成人人人人精品欧| 国产精品视频中文字幕91| 欧美激情国产高清| 亚洲男人的天堂在线| 蜜臀久久99精品久久久无需会员| 91免费高清视频| 91精品在线看| 国产精品久久久久久超碰| 国产亚洲xxx| 一本一道久久a久久精品逆3p| 伊人激情综合网| 日韩美女av在线| 日韩欧美精品免费在线| 美女啪啪无遮挡免费久久网站| 日韩欧美黄色动漫| 久久精彩免费视频| 欧美激情一级欧美精品| 91亚洲精品视频| 91亚洲精品在线观看| 精品毛片三在线观看| 国产精品丝袜白浆摸在线| 俺去亚洲欧洲欧美日韩| 日本最新高清不卡中文字幕| 国产日韩欧美夫妻视频在线观看| 亚洲国产成人av在线| 欧美第一黄色网| 国产欧美精品一区二区三区-老狼| 亚洲精品色婷婷福利天堂| 国产精品白丝jk喷水视频一区| 亚洲色图17p| 日日噜噜噜夜夜爽亚洲精品| 亚洲第一页自拍| 国产亚洲精品91在线| 亚洲欧美成人精品| 日韩av中文字幕在线| 欧美激情第6页| 国产一区二区欧美日韩| 国产日产久久高清欧美一区| 亚洲精品国产成人| 日本高清不卡的在线| 亚洲人成毛片在线播放| 中文字幕亚洲欧美| 日韩极品精品视频免费观看| 97视频免费在线观看| 久久99久国产精品黄毛片入口| 欧美大码xxxx| 亚洲人成网站免费播放| 国产有码一区二区| 国产精品亚洲精品| 日本精品免费观看| 热久久视久久精品18亚洲精品| 色综合伊人色综合网| 2018国产精品视频| 久久久免费精品视频| 91视频国产一区| 亚洲欧美日韩网| 狠狠躁夜夜躁久久躁别揉| 欧美日韩免费在线观看| 成人午夜激情网| 日韩在线免费高清视频| 亚洲欧美日韩中文视频| 日本精品免费观看| 日本乱人伦a精品| 国产精品免费久久久久久|