DB2批量执行SQL脚本的实现


  本文标签:DB2批量执行

  下面为您介绍的是DB2批量执行SQL脚本的实现方法,如果您在DB2批量执行方面遇到过类似的问题的话,不妨一看,相信对您学习DB2批量执行方面会有所帮助  。

  环境:

  Windows系统

  DB2客户端或者服务端

  一、准备工作

  运行db2cmd或者db2cw打开DB2命令行处理器

  进入SQL脚本存放目录

  用db2 connect to user using 命令连接数据库

  用db2 set current schema 设置当前的SCHEMA,这个SCHEMA可以是未创建的,DB2会自动创建  。

  二、执行不同类型的SQL

  1、在命令行执行简单SQL命令

  db2

  2、在命令行执行SQL脚本文件

  db2 -td; -cf -l <输出日志文件路径>

  说明:-td; 指定语句结束标志  。因为一般SQL都是以分号结尾,所以就写成“-td;”  。

  -l <输出日志文件路径> 是可选的  。

  3、在命令行执行DB2 存储过程文件

  db2 -td@ -f -l <输出日志文件路径>

  说明:-td; 指定语句结束标志  。因为一般SQL过程都是以@结尾,所以就写成“-td@”  。

  -l <输出日志文件路径> 是可选的  。

  三、写批处理脚本

  批处理脚本无非就是把命令写在一起,保存为bat文件,执行即可  。

  在写批处理之前,先回顾一下DB2命令选项:

  C:"IBM"SQLLIB"BIN>db2 ? options

  db2 [option ...] [db2-command | sql-statement |

  [? [phrase | message | sqlstate | class-code]]]

  option:-a、-c、-d、-e{c|s}、-finfile、-i、-lhistfile、-m、-n、-o、

  -p、-q、-rreport、-s、-t、-td;、-v、-w、-x 和 -zoutputfile  。

  
选项    描述                                      缺省设置

  ------ ---------------------------------------- ---------------

  -a    显示 SQLCA                                OFF

  -c    自动落实                                  ON

  -d    检索并显示 XML 声明                       OFF

  -e    显示 SQLCODE/SQLSTATE                     OFF

  -f    读取输入文件                              OFF

  -i    显示 XML 数据并带有缩进                   OFF

  -l    将命令记录到历史记录文件中                OFF

  -m    显示受影响的行数                          OFF

  -n    除去换行字符                              OFF

  -o    显示输出                                  ON

  -p    显示 db2 交互式提示符                     ON

  -q    保留空格和换行符                          OFF

  -r    将输出报告保存到文件                      OFF

  -s    在命令出错时停止执行                      OFF

  -t    设置语句终止字符                          OFF

  -v    回传当前命令                              OFF

  -w    显示 FETCH/SELECT 警告消息                ON

  -x    不打印列标题                              OFF

  -z    将所有输出保存到输出文件                  OFF

  注意:

  使用 DB2OPTIONS 环境变量定制选项缺省值  。

  紧跟选项字母后的减号(-)使该选项关闭  。

  使用 UPDATE COMMAND OPTIONS 更改选项设置(以交互式或

  文件输入方式)  。

  根据命令参数创建批处理文件xxx.bat:

  rem     -- 连接数据库

  db2 connect to user using

  rem     -- 设置SCHEMA

  db2 set current schema

  rem     -- 执行SQL脚本列表

  db2 -td; -cf -l <输出日志文件路径>

  rem     -- 执行SQL过程列表

  db2 -td@ -f -l <输出日志文件路径>

  注意:可以是绝对路径也可以是相对路径  。

  四、执行批处理

  运行db2cmd或者db2cw打开DB2命令行处理器  。

  如果为绝对路径,则可以直接命令行执行 xxx

  如果为相对路径,则需要进入适当的目录,一边能在此目录下找到批处理,然后执行 xxx

  AIX:

  db2 -tvf 文件名.sql