IBM Cloud

IBM Cloud DB2 CLPPlus

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