使用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"
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

提问者

捣蛋鬼
擅长领域: 数据库

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-11-04
  • 关注会员:1 人
  • 问题浏览:21414
  • 最近回答:2010-12-20
  • X社区推广