我通过
sqlplus
连接,如下所示:
sqlplus user/password@SID
我有一个 .NET 应用程序,它也使用相同的用户和密码连接到相同的数据库。但是一旦连接
sqlplus
,它就无法运行任何更新语句。
所以,下面的代码没有做任何事情。如果我使用断点检查它,它只会挂起并且控制不会返回到程序。
command.ExecuteNonQuery()
连接后
sqlplus
是否会进行独占会话?
连接后sqlplus是否采取独占会话?
不可以,但是一个会话(不一定特定于 SQL*Plus)可能会锁定表中的行,而其他会话如果想要修改相同的行,则可以在等待锁释放时挂起。
例如,如果在 SQL*Plus 会话中更新了行,但没有进行更改,然后想要在 C# 会话中更新相同的行,则该会话可能正在等待该行上的锁被释放。由 SQL*Plus 完成其事务而释放。
COMMIT
或
COMMIT
在 SQL*Plus 会话中进行更改,然后 C# 会话应该停止挂起。