我有一个活动的 Oracle 操作需要很长时间。如何在不终止会话的情况下以编程方式取消操作?
问问题
1279 次
1 回答
4
OCI 库提供此功能。典型示例是客户端在长时间运行的操作期间按下 control-C,通过信号处理程序重新获得对程序的控制,然后取消长时间运行的操作。
在内部,客户端将通过 TCP 连接发送紧急消息,服务器端将通过 SIGURG 处理程序处理终止。客户端操作将收到此状态。
ORA-01013 ("user requested cancel of current operation")
- C/C++:
OCIBreak()
http://docs.oracle.com/cd/B10500_01/appdev.920/a96584/oci16m96.htm
http://docs.oracle.com/cd/A97630_01/appdev.920/a96584/oci02bas.htm (在“取消呼叫”处)
- Python(cx_Oracle):
conn.cancel()
于 2012-07-19T18:32:09.753 回答