如何在shell脚本中检查Sybase IQ连接状态

时间:2014-12-20 08:12:56

标签: sql database shell sybase sybase-iq

我使用dbisql连接到Sybase IQ数据库 脚本如下:

RESULT=$(dbisql -c "uid=dba;pwd=aaaaaa;eng=${ENGINE_NAME}" -onerror continue -nogui read ./dbScript/load_A_L_ART_PORT_D.sql [$FILE_NAME])
  echo $RESULT |grep -q "SQLCODE"
  if [ $? -eq 0 ]
    then
    write_log "[File]: ${FILE_NAME} import failed ..." ${LOG_NAME};
    write_log "ERROR Message: ${RESULT}" ${LOG_NAME};
  else
    mv $FILE_NAME ${FILE_NAME}_imported
    mv ${FILE_NAME}_imported $IMPORTED_DIR
    write_log "[File]: ${FILE_NAME} import succeed ..." ${LOG_NAME};
    write_log "Import Message: ${RESULT}" ${LOG_NAME};
  fi

在数据库运行时,一切正常。但是当数据库关闭时。 发生错误:

[2] Please input database engine name[eng].(eg:iqcoor_zdc)
    INPUT: 
iqcoor_zdc
[1/50]Importing A_L_ART_PORT_H ...
**Could not connect to the database.
Database server not found
SQLCODE=-100, ODBC 3 State="08001"**

如何在执行sql脚本之前检查数据库是否正在运行? 或其他连接问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用'dbping'实用程序测试IQ服务器是否正在运行。