我有一个模糊的回忆,Firebird 的 isql 实用程序在某些情况下会与数据库建立独占连接,这意味着任何其他连接尝试都将被拒绝。
我找不到有关此的信息。
谁能解释在哪些情况下会发生这种情况,特别是我如何确保它不会发生?
我的预期用途是在计划任务中执行一些命令/查询,并且我不想冒在此任务执行时阻塞其他数据库工作的风险。
从一些简单的测试来看,我似乎得到了一个独占连接,即当没有其他连接存在时,不允许其他连接。反之,如果isql连接时还有其他连接,isql的连接不会阻塞其他连接。
我在超级服务器模式下使用 Firebird 3.0.4 和 FlameRobin 对此进行了测试,对 isql 和 FlameRobin 连接使用相同的数据库别名。别名是使用绝对本地文件路径定义的。
我是否应该包含主机和端口以确保 isql 始终通过超级服务器连接(允许其他连接)而不是直接打开文件(阻止其他连接)?