DB2 UDB 命令行处理器(CLP)是一个接口,通过这个接口可以方便地访问 DB2 UDB 函数。CLP 接受来自 DB2 命令行的命令或 SQL 语句。在基于 Linux 和 UNIX® 的系统中,这个命令行是 DB2 实例的命令行。在 Windows® 操作系统中,它是启用了 CLP 命令窗口的命令行;在这种情况下,必须先(从普通命令窗口)运行 db2cmd 命令来启动 DB2 命令行环境。
db2 命令可以启动命令行处理器。CLP 包括前端进程(表示用户界面)和后端进程,可以用它们来维护数据库连接。每次 db2 调用都启动新的前端进程;第一次 db2 调用要启动后端进程。拥有相同父进程的所有前端进程都是由一个后端进程提供服务的,因此它们共享一个数据库连接。QUIT 命令停止命令行处理器,但是不删除关联的后端进程;要删除关联的后端进程,需要发出 TERMINATE 命令。建议在停止实例(STOP DATABASE MANAGER 或 db2stop)之前执行 TERMINATE 命令;否则,后端进程会保持一个不再可用的实例连接(Attachment)。
db2 命令
可以用下列三种模式之一启动 CLP:
db2。在 Windows 操作系统中,DOSKEY 命令允许使用 Up Arrow(向上箭头)键在会话的命令历史记录上滚动,并重新发出命令,而无需再次输入该命令。还可以创建包含 DB2 命令或 SQL 语句的命令文件,并像运行其他任何命令文件那样运行该文件。例如,名为 myfile.cmd 的文件包含下列代码: |
myfile 来运行该文件。db2 => 命令提示符。从该提示符下发出的命令和语句没有前缀 db2: |
|
db2 -tf myscript.db2 来运行该文件。注意这个文件与上面显示的 myfile.cmd 在内容上的差别。在该例中,文件中的命令和语句没有前缀 db2。每个命令或语句以分号结尾;实际上,通过在 db2 命令中指定 -t 选项标记,我们指示 CLP 使用分号作为语句终止字符。您可能还注意到 db2start 命令前的感叹号,这说明该命令不是 CLP 命令,而是从操作系统提示符发出的系统命令。这个感叹号是换码符,允许您从交互输入模式或批处理模式发出操作系统命令。图 1 显示了完整的 db2 命令语法。选项包括用来配置 CLP 会话的一个或多个选项标记的规范(表 1)、要执行的 DB2 命令或 SQL 语句、一般 CLP 帮助请求(?),或者与特定命令相关的帮助文本(? phrase)、SQLCODE(? message)、SQLSTATE(? sqlstate)或类代码(? class-code)。您还可以请求 CLP 选项的当前设置(? options),或者请求关于阅读在线帮助语法表的信息(? help)。下例说明了其中一些选项:
|
下面是需要记住的与 db2 命令有关的其他一些要点:
db2 (cont.) => 提示符。 |
|
|
|
|
图 1. db2 命令的语法
表 1. CLP 选项标记
| 选项 | 描述(默认) | |
| -a | 显示 SQLCA 数据。(OFF) | |
| -c | 自动提交 SQL 语句。(ON) | |
| -e{c|s} | 将 SQLCODE 或 SQLSTATE 数据写入标准输出。(OFF) | |
| -f filename | 接受指定文件(命令脚本)中的输入。如果其他选项与 -f 选项一起指定,必须最后指定 -f 选项。(OFF) | |
| -l filename | 将日志记录写入指定文件。该文件包含已执行命令和语句的历史记录。如果该文件已经存在,则新的信息会添加在该文件的后面。如果其他选项与 -l 选项一起指定,必须最后指定 -l 选项。(OFF) | |
| -n | 保留分隔符号内换行字符前的所有尾部空格字符。例如:
| |
| -o | 将数据和消息都写入标准输出。(ON) | |
| -p | 处于 CLP 交互模式下时显示提示符。(ON) | |
| -r filename | 将输出(消息和错误代码除外)重定向到指定的文件。如果该文件已经存在,则将新的消息添加到文件的后面。如果 -a 选项与 -r 选项一起指定,那么将 SQLCA 数据也写入文件中。-r 选项不影响 -e 选项。如果指定了 -e 选项,那么 SQLCODE 或 SQLSTATE 数据被写入标准输出,而不是被写入文件中。(OFF) | |
| -s | 如果执行命令脚本时或在处于 CLP 交互模式下时发生错误,那么可以使用这个选项停止处理;将错误消息写入标准输出。如果禁用该选项,则会显示错误消息,并继续执行剩余命令或语句;只有发生系统错误时才停止执行。(OFF) | |
| -t | 使用分号(;)作为语句终止符号。该选项禁用反斜线(\)行连续字符。(OFF) | |
| -tdx | 使用 x 作为语句终止字符。(OFF) | |
| -v | 将输入文本回送到标准输出。(OFF) | |
| -w | 显示 SQL 语句警告消息。(ON) | |
| -x | 返回没有任何标题(包括列名)的数据。(OFF) | |
| -z filename | 将所有输出(包括任何消息或错误代码)重定向到指定的文件。如果该文件已经存在,则将新的信息添加到文件的后面。如果 -a 选项与 -z 选项一起指定,那么还要将 SQLCA 数据也写入文件中。-z 选项不影响 -e 选项。如果指定了 -e 选项,那么要将 SQLCODE 或 SQLSTATE 数据写入标准输出,而不是写入文件中。(OFF) |
CLP 选项通常可以以任何顺序和组合来指定。要开启选项,则需要在相应的选项字符前加上减号(例如,-f)。要关闭选项,则需要在选项字母前加上加号,或者在选项字母两边分别加上减号。
可以使用 LIST COMMAND OPTIONS 命令查看 CLP 选项的当前设置。通过发出 UPDATE COMMAND OPTIONS 命令,可以在 CLP 交互输入模式或批处理模式下更改这些设置。例如:
|
还可以使用 DB2OPTIONS 注册变量设置会话的 CLP 选项。例如:
|
交互 CLP 中的新的可用功能
DB2 UDB Version 8.1 引入了针对 DB2 CLP 的一些易用性方面的重要改进。现在可以对在交互模式下使用 CLP 时出现的提示符进行定制。还可以使用新的命令缓存来运行以前执行的命令,或者使用操作系统的集成命令编辑器或选择的编辑器来编辑那些命令。
定制的 CLP 提示符可以显示当前用户、实例连接或数据库连接。要定义命令提示符,则需要设置新的名为 DB2_CLPPROMPT 的 DB2 UDB 注册变量。DB2_CLPPROMPT 注册变量可以设置为任何文本字符串,最大长度为 100 个字符。定制的字符串可以包含任意符号,在运行的时候,实际值将替代这些符号。侧栏中描述了可以设置的符号。










共有 0 位网友发表了评论,得分 0 分,平均 0 分 查看完整评论