使用shell脚本连接DB2数据库的问题

简单介绍下实验环境,两台机器,分别是64位AIX和32位Linux,分别装着64位DB2V9.5FP1和32位DB2V9.1FP8。两边都各有一个db2inst1实例,实例下各建有一个TESTDB,数据库中各有一个表T1,只有一列c1,int类型。先在AIX上写ksh脚本 #!/usr/bin/ksh su - db2inst1 -c "db2 connect to testdb" s...显示全部
简单介绍下实验环境,两台机器,分别是64位AIX和32位Linux,分别装着64位DB2V9.5FP1和32位DB2V9.1FP8。两边都各有一个db2inst1实例,实例下各建有一个TESTDB,数据库中各有一个表T1,只有一列c1,int类型。
先在AIX上写ksh脚本
#!/usr/bin/ksh
su - db2inst1 -c "db2 connect to testdb"
su - db2inst1 -c "db2 select c1 from t1"
运行该脚本,可以成功打印出select结果

再到Linux上写bash脚本
 
#!/bin/bash
su - db2inst1 -c "db2 connect to TESTDB"
su - db2inst1 -c "db2 select c1 from t1"
运行该脚本,却报连接不存在

[root@test01 /]# ./test.sh
   Database Connection Information
Database server        = DB2/LINUX 9.1.8
SQL authorization ID   = DB2INST1
Local database alias   = TESTDB
SQL1024N  A database connection does not exist.  SQLSTATE=08003

利用公司的资源,连到64位AIX版本的DB2V8.1上和64位Linux版本的DB2V9.1上看过了,但凡是ksh都是OK的,但凡是bash都是报连接不存在。个人认为比较大的可能是ksh和bash的语法区别。不知道各位有谁在Linux上写过连接DB2的脚本,如果要在Linux上使用bash写脚本连接数据库,shell该如何写呢?收起
参与14

查看其它 12 个回答reht的回答

rehtreht技术经理Ora
买LICENSE啊。IBM的D版不好用。少买用户吧。
2010-11-10
浏览2724

回答者

reht
技术经理Ora

reht 最近回答过的问题

回答状态

  • 发布时间:2010-11-10
  • 关注会员:1 人
  • 回答浏览:2724
  • X社区推广