更改开始

使用配置文件表设置内置全局变量的规则

在远程应用中,某些内置全局变量可以使用配置文件属性表中的值进行设置。 当您通过配置文件属性表设置内置全局变量时,请注意以下规则和行为。

您可以通过为DSN_PROFILE_ATRRIBUTES表中的KEYWORDS列指定GLOBAL_VARIABLE值来设置以下内置全局变量。 有关详细说明,请参阅使用配置文件表设置内置全局变量

全局变量(V) 示例
GET_ARCHIVE
SET SYSIBMADM.GET_ARCHIVE = 'Y'
更改开始fl 507 max_locks_per_tablespace更改结束 更改开始
SET SYSIBMADM.MAX_LOCKS_PER_TABLESPACE = NULL 
更改结束
更改开始fl 507 max_locks_per_user更改结束 更改开始
SET SYSIBMADM.MAX_LOCKS_PER_USER = DEFAULT
更改结束
移动到存档
SET SYSIBMADM.MOVE_TO_ARCHIVE = 'N'
时间逻辑超行动时间
SET SYSIBM.TEMPORAL_LOGICAL_TRANSACTION_TIME = '2014-11-14-08.05.01.123456789'
时间逻辑交易
SET SYSIBM.TEMPORAL_LOGICAL_TRANSACTIONS = 0

以下规则适用于DSN_PROFILE_ATTRIBUTES表中内置全局变量的SET语句:

  • 必须指定变量的模式限定符。
  • SET语句中全局变量名和赋值之间必须有一个等号(=)。
  • 变量名可以采用大小写混合的形式。 关键词之间的多余空格将被删除。
  • 赋值指定的值必须对变量有效,且不能是表达式,也不能引用其他特殊寄存器或变量。
  • 赋值指定的值作为字符串常量通过此接口传递。 例如,如果要分配的值与特殊寄存器的名称相同,则 Db2 将存储特殊寄存器的名称,而不是特殊寄存器的值。
  • SET语句的最大长度为1024字节。
  • 该语句必须是一个Unicode字符串,并使用应用程序的相应CCSID进行编码。
  • 变量被赋值并按照指定方式存储。

除非应用程序明确设置全局变量,否则内置的全局变量值将在连接期间保持不变。 应用程序明确设置的内置全局变量值优先于配置文件中设置的值。 系统定向连接(例如三部分名称引用)使用请求 Db2 站点的全局变量的值。 例如,如果Java™应用程序与 Db2 网站1建立连接,则全局变量值将根据网站1的配置文件表确定。 稍后,如果应用程序运行SQL语句,其中包含指向 Db2 站点2的隐式三部分名称连接,则当SQL语句在站点2上运行时,将引用在站点1上建立的全球变量值。

提交和回滚操作对全局变量的值没有影响,无论这些值是如何建立的。

设置内置全局变量所需的授权与向DSN_PROFILE_TABLE和DSN_PROFILE_ATTRIBUTES表插入行所需的授权相同。

更改结束