- 论坛徽章:
- 0
|
环境:RedHat Linux AS4, SHELL=/bin/bash, Oracle 10g
1.我测试一个数据库是否可以正常连接。程序如下:
C/C++ code
IFSUCC=`sqlplus dbuser/dbpasswd@dbservername <<EOF | grep ^[0-9]| cut -d. -f1
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
EOF`
if [ "X$IFSUCC" = "X" ]
then
echo "connect error"
fi
|
测试本地数据库,无论正确的还是错误的登录名或密码,都能够成功测试出来。但是对于远程连接的数据库,如果有正确的登录名密码和服务名的话,测试是可以正常连接,打印日期,但是如果采用了错误的登录名密码或服务名,sh就无法执行下去,就类似于阻塞一样,键盘中断都不可以。
请问什么原因,该如何解决啊?
2.测试一个数据库中表是否已经建立,我采用如下方式:
C/C++ code
IFSUCC=`sqlplus $ORAUSERID <<EOF | grep "ORA-00942:"
select * from ${onetab};
EOF`
if [ "X$IFSUCC" != "X" ]
then
echo " <!> [$onetab]: Table or view you input does not exist!"
fi
|
这种方式移值性较差,可以用于oracle,有没有一种通用的方式?
谢谢 |
|