2017-07-31 5 views
0
 
oracledb.getConnection({ 
     user   : "", 
     password  : "", 
     connectString : "" 
     }, 
     function(err, connection) { 
     if (err) { 
      console.log("Error while trying to connect to DB ", err.message); 
      callback(err.message); 
     } else { 
      //My Logic 
     } 
     }); 

上記の(疑似)コードを使用してリモートoracledbに接続しています。私はWindows環境で働いています。接続文字列には、リモートDBに接続するためのURLがあります。今、私のユーザー名/パスワードが間違っている/ nullの場合、私はそのエラーを見ることができます。しかし、サーバーがオフになっている場合、エラーを処理するセクションに入ることはありません。どのようにサーバーのシャットダウンエラーをキャッチする?サーバがシャットダウンしているかどうかを検出していないノードoracledb

任意のリードが役立ちます。 TIA。

答えて

0

おそらく、TCPタイムアウトを待っています。 OSのネットワーク構成や、Oracle Netレイヤー(アプリケーションとデータベース間の通信を処理するレイヤー)を構成することができます。

$TNS_ADMIN/sqlnet.oraファイルを作成してください(TNS_ADMINが読み込まれるように設定することを忘れないでください)。SQLNET.OUTBOUND_CONNECT_TIMEOUTを設定できます。

アプリケーションの可用性要件に応じて、SQLNET.RECV_TIMEOUTおよびSQLNET.SEND_TIMEOUTなどのさまざまなオプションを設定することもできます。興味のあるオプションが他にもあるかもしれません。最後に、tnsnames.oraファイルを作成して、DBサービス設定('ENABLE=BROKEN')を構成することができます。

+0

node-oracledbに対するご支援をいただき、ありがとうございました。 – Nigilan

+0

ありがとうございます。私はこれに関するいくつかのノートをnode-oracledbマニュアルに追加しました:https://github.com/oracle/node-oracledb/blob/dev-2.0/doc/api.md#connectionha –

関連する問題