我有一个事件的 Oracle 操作需要很长时间。如何在不终止 session 的情况下以编程方式取消操作?
最佳答案
OCI 库提供了此功能。典型的例子是客户端在长时间运行的操作期间按下 control-C,通过
信号处理程序,然后取消长时间运行的操作。
在内部,客户端将通过 TCP 连接发送紧急消息,
并且服务器端将通过 SIGURG 处理程序处理终止。这
客户端操作将收到此状态。
ORA-01013 ("user requested cancel of current operation")
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
(在“取消通话”中)
conn.cancel()
http://cx-oracle.sourceforge.net/html/connection.html
关于sql - 客户端如何取消事件的 Oracle 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567127/