- 论坛徽章:
- 0
|
兄弟我现在遭到困扰,希望各位大虾能够帮忙解决1下,急。
我在oracle处理过程中,插入数据库某一个表中的纪录:
每insert into 1个纪录,就在v$open_cursor中遗留一个未释放游标,整个程序的处理过程中,sqlca.sqlcode都是=0的。
相关程序片段:
EXEC SQL insert into hcsp_motmp_lt (id,msgid,
dstaddr,serviceid,srcaddr,registertype,msglen,
content,putstat,rcvdate)
values(hcsp_motmp_lt_squence.nextval,
:wd_motmp.msgid,:wd_motmp.dstaddr,
:wd_motmp.serviceid,
:wd_motmp.srcaddr,:wd_motmp.registertype,
:wd_motmp.msglen,
:wd_motmp.content,:wd_motmp.putstat,sysdate);
printf("insert hcsp_motmp_lt sqlca.sqlcode=%d\n",
sqlca.sqlcode);
if(sqlca.sqlcode<0 && sqlca.sqlcode != -1405)
{
EXEC SQL rollback;
SQLERR
}
_________________________________________
我统计select count(*) from v$open_cursor;的时候,每次只要insert了,就会增加1个 open_cursor,这样时间长了,我的系统就跑不动了,请各路高手多指教,只要回答,都谢谢了!!!!!!  |
|