posts - 38, comments - 13, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
DB2的CLP命令可以使用一个文件包含一个或多个的CLP命令或者SQL语句,并且是按照顺序一个一个的执行,这也就是所谓的DB2数据库脚本,但是这里的实现可以包括两种,分别是以下两种:

1、DB2 Scripts

     1)文件里面没有包括结束符的
     
     

1//执行以下命令,顺序执行文件里面的CLP命令,假设还没有启动DB2 CLP模式
2db2cmd db2 -vf clp.txt
3



1/执行以下命令,顺序执行文件里面的CLP命令,假设已经启动DB2 CLP模式
2db2 -vf clp.txt



     2)文件里面包括结束符的(默认符号是semicolon";",但是也可以这是其他符号为结束符)



1//使用默认的结束符";",这里假设已经启动DB2 CLP模式
2db2 --vf clp.txt





1//默认的结束符是";",但是可以设置为别的符号,这里设置"@"为结束符
2db2 -td@ -vf clp.txt



这里要注意的还有两点:

A、在DB2 Scripts模式下输入文件里面不能包括db2的字样,否则会出现以下错误





B、输入脚本的文件必须是个文本文件,而且隐藏的编码方式可能会导致DB2 CLP执行脚本的出现错误,如果你在Windows系统下使用记事本,保存文件的时候一定要注意保存为ANSI编码方式,如果保存为Unicode方式,将会出现以下错误:

这里有两个文件,一个是名为clpUnicode.txt的文件,它的编码方式是Unicode,另一个是名为clpANSI.txt的文件,它的编码方式是ANSI,我们看看执行后的结果:



文件为Unicode编码方式的执行结果为





文件为ANSI编码方式的执行结果



最后我将讲述关于执行脚本文件命令具体操作符的作用,我将以以下这条命来讲解
1db2 -td@ -vf clp.txt

-f    操作符“-f”后面跟一个具体的DB2脚本的文件,它将提示CLP该去哪里查找脚本文件,此例是“clp.txt”,也可以写成具体的路径“G:\Download\clp.txt”

-t   当脚本文件有结束符的时候,需要使用“-t”操作符来指明,默认的结束符是“;”分号

-dcharacter  当你想使用不同的结束符的时候,它会指明CLP你将使用哪个符号作为结束符,此例为“-d@”

-v  使用“-v”操作符用来响应你正在执行的命令

2、Operating System Scripts(我这里主要是指基于Windwos环境下的脚本)

如果你在脚本文件里面做了两件事:A、在你的CLP命令前加上db2前缀 B、除去所有结束符,你得将这文件转化为符合你的操作系统的脚本规范的脚本文件,而不是DB2脚本文件,如果你使用Windows操作系统,你必须做一些改变,以适应操作系统的需要,比如说,你需要使用REM来指明这是备注信息,你也必须将文件名改为以“.bat”的后缀名



1//执行以下命令来启动脚本文件
2db2cmd clp.bat



总结:虽然这些东西我都会了,但是还是觉得把它写下来会更加印象深刻,也许还会找出你还没弄明白的地方,但是就是太耗时间了,所以也好矛盾啊,不过我还是会坚持的,加油

只有注册用户登录后才能发表评论。