0

我正在使用 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 脚本之前检查数据库是否正在运行?或其他连接问题。

谢谢!

4

1 回答 1

1

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

于 2014-12-21T13:24:49.920 回答