3
我有一个太长的活动Oracle操作。我如何以编程方式取消操作而不终止会话?客户端如何取消活动的Oracle查询?
我有一个太长的活动Oracle操作。我如何以编程方式取消操作而不终止会话?客户端如何取消活动的Oracle查询?
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()