Document #: 1307131000006

Body:

[标题] DB2 命令行处理器中命令选项的介绍


环境:
产品:DB2 UDB
平台:跨平台
版本:v7,v8


问题描述:

介绍 DB2 命令行状态下有关命令选项的用途及设置方法。


解答:

DB2 命令行处理器中使用命令 db2 list command options,可得到如下输出:

命令行处理器选项设置

后端进程等待时间(秒) (DB2BQTIME) = 1
连接至后端的重试次数 (DB2BQTRY) = 60
请求队列等待时间(秒) (DB2RQTIME) = 5
输入队列等待时间(秒) (DB2IQTIME) = 5
命令选项 DB2OPTIONS) =


选项 说明 当前设置
------ ------------------------------- ------------
-a 显示 SQLCA OFF
-c 自动落实 ON
-e 显示 SQLCODE/SQLSTATE OFF
-f 输入文件读取 OFF
-l 将命令记录到历史文件中 OFF
-n 除去换行字符 OFF
-o 显示输出 ON
-p 显示交互式输入提示 ON
-r 将输出保存到报告文件 OFF
-s 在命令出错时停止执行 OFF
-t 设置语句终止字符 OFF
-v 回送当前命令 OFF
-w 显示 FETCH/SELECT 警告信息 ON
-x 不打印列标题 OFF
-z 将所有输出保存到输出文件 OFF


这些选项的具体功能及其缺省设置为:

.a 显示 SQLCA 的数据,缺省为 OFF。
.c 是否自动落实 SQL 命令,缺省为 ON。
.e {c|s} 显示 SQLCODE 或 SQLSTATE,缺省为 OFF。
.f 文件名 将命令的输入从标准输入指定到某一文件,缺省为 OFF。
注:命令 db2 < 文件名 db2 -f 文件名 作用相同。
.l 文件名 将命令记录到历史文件中,缺省为 OFF。
.n 除去换行字符,缺省为 OFF。
.o 将输出数据及信息送到标准输出,缺省为 ON。
.p 在交互方式下显示命令行处理器的提示信息,缺省为 ON。
.r 将输出保存到指定文件中,缺省为 OFF。
.s 执行批处理文件中或交互方式下的命令出错时即停止执行操作,缺省为 OFF。
.t 设置语句终止字符,缺省为 OFF。
.v 回送当前命令到标准输出,缺省为 OFF。
.w 显示 FETCH 或 SELECT 警告信息,缺省为 ON。
.x 不打印列标题,缺省为 OFF。
.z 文件名 将所有输出保存到输出文件,缺省为 OFF。


以上选项在 DB2 命令行使用时不要求顺序并可以进行组合。若要修改其缺省设置,将选项设为打开,只需在选项前加 - ;而将选项关闭则加 “+” 。例如在 DB2 命令行下执行 DB2 的脚本文件时,我们经常使用:

db2 -svtf <脚本文件名>

即以脚本文件中的各条语句作为标准输入,每条语句以 作为结束符,每条语句在执行时将被回送到屏幕,并且当某条语句执行出错时,将停止继续执行后续的语句。

另外,通过设置环境变量 DB2OPTIONS,也可对这些选项进行设置。如在 Intel 系统下使用:set DB2OPTIONS='+c -a';在 UNIX 系统下使用:export DB2OPTIONS='+c -a'。但命令行处理器选项设置的优先级高于 DB2OPTIONS 的设置。

除此之外,当使用 DB2 的交互式命令行输入模式或使用批处理文件作为标准输入时,使用 db2 update command options 命令,同样可以实现对 DB2 命令选项的修改。如利用:db2 update command options using c off,可将自动落实选项关闭。

对于上述几种修改 DB2 命令行处理器命令选项的方式,其设置的优先级别分别为:

1. 设置缺省选项
2. 读取 DB2OPTIONS 的设置,覆盖缺省设置
3. 读取命令行的设置(如:db2 -svtf),覆盖 DB2OPTIONS 的设置
4. 读取 UPDATE COMMAND OPTIONS 命令的设置作为交互模式下的最终选项设置