DB2自带的CLP很不好用,和Oracle的SQL plus相比,尤其是格式化显示方面做的不够好。DB2为了提高Oracle的兼容度,在9.7推出了和SQLPLUS非常相似的CLPPLUS。
1.如何下载安装CLPPLUS呢?
- 登录IBM Cloud DB2的控制台,点击管理–>连接–>Mac–>驱动程序列表

- 下载好了以后,点击installDSDriver.sh安装。

2.安装好以后,在Mac的Application中,能看到安装好的CLPPlus 和 dsdriver

3.需要配置环境变量,否则不会识别db2cli之类的命令

在Mac的命令终端上,执行下面的命令: export PATH=$PATH:/Applications/dsdriver/bin/ export DB2CLIINIPATH=/Applications/dsdriver/cfg/ export DB2DSDRIVER_CFG_PATH=/Applications/dsdriver/cfg/
PS:在Terminal下用export PS1=XXX 修改完后,本次生效,但是重新启动Teminal后又恢复到默认格式。
- ~下面本来没有 .bash_profile,要用touch .bash_profile手动创建。
- open -e .bash_profile 打开文件加入export PS1=XXX 这行,保存并关闭文件。
- source .bash_profile 使更新生效。
4.CLPPlus连接数据库,主要靠配置cfg下面的的db2dsdriver.cfg文件。

- db2dsdriver.cfg文件的配置方法,可以用命令生成,具体的命令,可以从IBM Cloud DB2的控制台,点击管理–>连接–>Mac–>连接看到。执行db2cli writecfg相关的命令后,就会在db2dsdriver.cfg文件中生成相关的配置信息。

- 但是我这里这个命令总报错,所以我是手动修改的/Applications/dsdriver/cfg/db2dsdriver.cfg文件。
<configuration> <dsncollection> // dsn的alias别名非常重要,这里面我们起了个别名dashdb <dsn alias="dashdb" name="xxxx" host="xxxxxxx.databases.appdomain.cloud" port="32657"> </dsn> </dsncollection> <databases> <database name="xxxx" host="xxxxxxx.databases.appdomain.cloud" port="32657"> </database> </databases> <parameters> <parameter name="SecurityTransportMode" value="SSL"/> </parameters> </configuration>
5.上面都配置好以后,通过clpplus -nw 数据库userID@别名 命令,按指示输入密码,通过验证以后,就连接到数据库了。

一些参考网站
https://www.ibm.com/docs/en/db2woc?topic=integration-connecting-clpplus https://www.ibm.com/support/knowledgecenter/SSCJDQ/com.ibm.swg.im.dashdb.clpplus.doc/doc/c0053823.html https://www.ibm.com/docs/en/db2woc?topic=database-connecting-db2 https://www.ibm.com/support/knowledgecenter/SSCJDQ/com.ibm.swg.im.dashdb.clpplus.doc/doc/clpplus_local.html https://www.ibm.com/docs/en/db2-warehouse?topic=warehouse-getting-container-images