加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle:如何检测客户端进程终止,就像它适用于sqlplus一样?

发布时间:2021-01-17 10:18:55 所属栏目:站长百科 来源:网络整理
导读:我的应用程序中连接到Oracle 10g数据库时出现以下问题: 当我的客户端崩溃,或者通过任务管理器终止进程,或者客户端暂时失去连接时,v $session视图中的相应条目仍然存在. 现在,当我使用sqlplus连接数据库,并通过任务管理器杀死sqlplus.exe时,会话条目几乎立即

我的应用程序中连接到Oracle 10g数据库时出现以下问题:

当我的客户端崩溃,或者通过任务管理器终止进程,或者客户端暂时失去连接时,v $session视图中的相应条目仍然存在.

现在,当我使用sqlplus连接数据库,并通过任务管理器杀死sqlplus.exe时,会话条目几乎立即被删除.

出于各种原因,后者的行为对我的应用程序来说是首选.

sqlplus有什么不同的做法,我可以在我自己的应用程序中做到这一点吗?

解决方法

SQL * Plus使用OCI – Oracle调用接口.这是一个广泛的API(超过四百个函数调用.OCI提供了许多处理连接和会话的方法.我不确定但我猜测SQL * Plus使用OCILogon2()为用户注册一个专用会话,并在会话句柄中放置一些东西,允许它检测会话ABEND的时间.

因此,您的应用程序可能不使用OCI来连接数据库.如果您想了解有关OCI的更多信息,可以阅读文档.警告它是相当低级别的东西! Find out more.

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!