1

有没有办法将隔离级别和锁定模式更改为整个数据库?

4

2 回答 2

2

如果您使用版本 11 或更高版本:是
的,您可以使用public.sysdbopen过程来做到这一点。

  • 只需使用设置的隔离和锁定时间创建程序
  • 该过程仅对创建它们的数据库有效。

此过程将在用户连接到数据库时执行。请注意,如果某些用户已经拥有自己的 sysdbopen 程序,则不会执行公共“版本”,只会执行自己的用户。

create procedure "public".sysdbopen()
  set isolation to dirty read ;
  set lock mode to not wait;
end procedure
;
于 2013-09-11T15:27:41.287 回答
0

Informix 中没有每个数据库的隔离级别和锁定模式的概念。两者都是数据库客户端属性。因此,这取决于您的客户端库或工具。例如,松鼠客户端描述在这里:如何在连接上自动执行命令。对于 Odbc,您可以在环境选项卡的 DSN 属性中设置隔离级别。

ceinmart 给出了唯一通用的方法。在 Informix 11 及更高版本中,只要建立连接,就会执行 sysdbopen 存储过程。它是设置隔离级别和锁定模式的理想场所。然而,这个存储过程是一个“每个 Informix 引擎实例”,而不是“每个数据库”。您需要在那里添加一些逻辑:从 dbinfo 读取数据库名称,然后有条件地应用设置。

于 2013-09-16T18:25:08.183 回答