您可以使用 CLP 运行脚本,任何可以以常规操作处理的方式运行的实用程序(例如每夜运行的 LOAD、RUNSTATS 或者 BACKUP 命令),都可以是一个 CLP 脚本。CLP 的一些选项可以指定输入文件(-f),一个用于消息的输出文件(-z),是否能够回送关于什么要在屏幕上运行的信息(-v),是否能够设置一个语句终止符(-t),如果设置了这个选项,脚本就可以包含多个 DB2 命令 和 SQL 语句。通常我会这样运行脚本:DB2 -tvf filename.ddl -t,后面加上默认的终止符(;),-v 选项允许回送文件的内容到屏幕(这样就可以检查我告诉了 DB2 要做些什么),-f 选项告诉 CLP 使用一个输入文件。通过 DB2 ? options可以得到关于所有选项的帮助:
C:\\SQLLIB>db2 ? options
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
option: -a, -c, -e{c|s}, -finfile, -lhistfile, -n, -o, -p, -rreport, -s, -t,
-td;, -v, -w, -x, -zoutputfile.
选项 | 描述 | 默认设置 |
-a | 显示 SQLCA | OFF |
-c | 自动提交 | ON |
-e | 显示 SQLCODE/SQLSTATE | OFF |
-f | 从输入文件读内容 | OFF |
-l | 历史文件中的日志记录命令 | OFF |
-n | 删除换行字符 | OFF |
-o | 显示输出 | ON |
-p | 显示 db2 交互性命令 | ON |
-r | 将输出报告保存到文件 | OFF |
-s | 出现命令错误时停止执行 | OFF |
-t | 设置语句终止符 | OFF |
-v | 回送当前命令 | OFF |
-w | 显示 FETCH/SELECT 警告消息 | ON |
-x | 省略列标题的打印 | OFF |
-z | 将所有输出保存到输出文件 | OFF |
在 DB2 ControlCenter 中的脚本中心那里提供了更加高级的脚本编写,包括时间安排(scheduling),并且可以使用日志来查看发生过什么事情。在原型(prototyping)模式下,CLP 只是一种启动程序的快速方式。注意上述输出中的 -x 选项:我们添加了这个能力,以便可以在 DB2 v7 的 fixpak 1 中不输出列标题。如果客户要求输出列标题,他们可能是关心列标题,因为他们希望输出好看一些(或者要将输出作为另一个程序的输入)。对于我来说,这意味着人们现在 将 CLP 不仅仅用于原型。
总结:db2 +options - 关闭option功能
db2 -options - 开启option功能