0

Sybase IQ データベースに接続するために dbisql を使用しています。
スクリプトは次のとおりです。

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 に答える