2016-11-09 14 views
0
connection.on('error', function (err) { 
    console.log(err); 
    if (err.code === 'ESOCKET') { 
     console.log('----- Connection lost removing connection from pool -----'); 
     // self.pool.destroy(connection); 
     connection.close(); 
     connection = new Connection(config); 
    } 
    }); 

に私は上記のコードを使用しなければならないが、私は、接続タイムアウトエラーメッセージが表示されました。..紺碧のSQL接続タイムアウト退屈

{ [ConnectionError: Connection lost - read ECONNRESET] 
    message: 'Connection lost - read ECONNRESET', 
    code: 'ESOCKET' } 

PLSのは、この問題を解決する方法を助ける...

答えて

0

に思えますあなたが長いアイドル状態の接続を持っていて、それが閉鎖されていることを示します。この問題はGithub https://github.com/tediousjs/tedious/issues/300で長い間議論されており、現在のところまだ結果はまだ出ていないようです。

回避策として、https://github.com/tediousjs/tedious-connection-pool#new-connectionpoolpoolconfig-connectionconfigをプールとの接続に使用することができます。

0

私はこの問題で私の経験を追加したい:

私はランダムに新しいDBバルクロードでこの問題を得ていたし、それを複製することができませんでした。私は、バルクロードのサイズを18kレコードから約12kに減らすことで、挿入が問題なく機能することを発見しました。しかし、12kを過ぎてもらえませんでした。

私は、明らかに私のレコードの1つがデータベースに置かれたvarcharの容量を超え、エラーを投げていることがわかりました。しかし、私がレコードを1つずつ挿入するまで、そのエラーは私には公開されませんでした。

関連する問題