如何关闭在数据库链接(ORA-02080)中创建的游标?

时间:2015-05-26 13:30:51

标签: sql oracle database-connection database-link database-cursor

我在Oracle SQL Developer中执行以下步骤(逐步使用F-9):

ID
BRAND
KIND
DESCRIPTION
PRICE

当我尝试关闭数据库链接时出现错误:

  

SQL错误:ORA-02080:正在使用数据库链接   02080. 00000 - “数据库链接正在使用”

     

*原因:事务处于活动状态或数据库链接上的游标已打开              在alter session close database link命令中给出。

     

*动作:提交或回滚,并关闭所有游标

交易已经完成,但当我create database link mydb connect to my_schema identified by mypwd using 'connection1'; select * from users where id = 1; rollback; ALTER SESSION CLOSE DATABASE LINK mydb; drop database link mydb; 时,我看到仍然有一个打开的光标,但我不知道如何关闭那个。

1 个答案:

答案 0 :(得分:7)

只要SQL Developer“查询结果”选项卡打开,光标就会保持打开状态,即使滚动到结果集的末尾也是如此。如果关闭该选项卡,光标将被释放,您将能够关闭并删除数据库链接。

或者如果您在首选项中选中了“在新标签中显示查询结果”框 un ,则在Database->工作表下,您可以运行不引用该链接的其他查询作为一个语句,它将重用相同的结果选项卡并关闭前一个游标。如果选中该框,那么当然不会有帮助。

如果你放弃它,你真的不需要单独的关闭步骤;如果你只是放弃它而不关闭,你不需要回滚甚至关闭结果集。

如果您将所有命令作为脚本(F5)运行,而不是作为单独的语句运行,则不会看到错误;但是您的数据将显示在“脚本输出”窗口中,包含其他所有内容,而不是“查询结果”数据网格中。