Tedious: ConnectionError:{{host}}:1433への接続に失敗しました-ストリームが破棄された後、writeを呼び出すことができません

作成日 2019年07月29日  ·  14コメント  ·  ソース: tediousjs/tedious

データベースへの接続中にエラーが発生しました(SQL Server 2008 R2)

「mssql」を使用しています:「^ 5.1.0」

ローカルホストとSQLServer2017に接続できます

[ネスト] 29632- 2019年7月29日午後9時34分[TypeOrmModule]データベースに接続できません。 再試行(1)... + 876ms
ConnectionError:{{host}}:1433への接続に失敗しました-ストリームが破棄された後、writeを呼び出すことができません
接続時。(nrwlnode_modulesmssqllibtedious.js:244:17)
Object.onceWrapper(events.js:288:20)で
Connection.emitで(events.js:200:13)
Connection.socketError(nrwlnode_modulestediouslibconnection.js:1098:12)で
ソケットで。(nrwlnode_modulestediouslibconnection.js:971:14)
Socket.emitで(events.js:205:15)
errorOrDestroy(internal / streams / destroy.js:107:12)で
onwriteErrorで(_stream_writable.js:432:5)
オンライト時(_stream_writable.js:459:5)
doWriteで(_stream_writable.js:413:11)

親切にいくつかの解決策を提案してください:)

Idle

最も参考になるコメント

忘れてください! encrypt暗号化されていません

全てのコメント14件

こんにちは@ bj9215

どのバージョンの退屈なものを使用していますか? Mssql package.jsonは、古いバージョンの退屈なバージョンを使用しています(現在の退屈なバージョンはv6.2.0です)。 それを更新してみて、それが役立つかどうかを確認しますか? :)

どのバージョンのNode.jsを実行していますか? 暗号化を有効にしていますか?

古いバージョンのSQLServerに接続しようとしている場合、古いバージョンのTLSを使用し、SQL Server2008とNode.jsバージョンの両方でサポートされている暗号スイートを使用するように暗号化設定を微調整する必要があります。使っている。

@ bj9215まだこの問題が発生していますか?

私は「退屈な」という同様の問題を抱えています:「6.6.2」、

const config = {
    server: 'local-sql-host',
    authentication: {
        type: 'default',
        options: {
            userName: process.env.AUTH_LOCAL_USR,
            password: process.env.AUTH_LOCAL_PWD,
        },
    },
    options: {
        database: 'DATABASE_NAME',
        encrypted: false,
    },
}
debug connected to {local-sql-host}:1433
debug State change: Connecting -> SentPrelogin
debug State change: SentPrelogin -> SentTLSSSLNegotiation
debug Failed to connect to {local-sql-host}:1433 - Cannot call write after a stream was destroyed
connect $db> test.(): ConnectionError: Failed to connect to {local-sql-host}:1433 - Cannot call write after a stream was de
stroyed
    at ConnectionError (C:\workspace\api-v3\dist\webpack:\node_modules\tedious\lib\errors.js:13:1)
    at Connection.socketError (C:\workspace\api-v3\dist\webpack:\node_modules\tedious\lib\connection.js:1258:1)
    at Socket.<anonymous> (C:\workspace\api-v3\dist\webpack:\node_modules\tedious\lib\connection.js:1093:1)
    at Socket.emit (events.js:215:7)
    at errorOrDestroy (internal/streams/destroy.js:108:12)
    at onwriteError (_stream_writable.js:446:5)
    at onwrite (_stream_writable.js:473:5)
    at doWrite (_stream_writable.js:427:11)
    at writeOrBuffer (_stream_writable.js:415:5)
    at Socket.Writable.write (_stream_writable.js:305:11) {
  message: 'Failed to connect to {local-sql-host}:1433 - Cannot call write after a stream was destroyed',
  code: 'ESOCKET'
}
debug State change: SentTLSSSLNegotiation -> Final
debug Connection lost - 99404:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:c:\ws\deps\o
penssl\openssl\ssl\statem\statem_lib.c:1929:

ConnectionError: Connection lost - 99404:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:c
:\ws\deps\openssl\openssl\ssl\statem\statem_lib.c:1929:

    at ConnectionError (C:\workspace\api-v3\dist\webpack:\node_modules\tedious\lib\errors.js:13:1)
    at Connection.socketError (C:\workspace\api-v3\dist\webpack:\node_modules\tedious\lib\connection.js:1262:1)
    at Socket.<anonymous> (C:\workspace\api-v3\dist\webpack:\node_modules\tedious\lib\connection.js:1093:1)
    at Socket.emit (events.js:210:5)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[ERROR] 12:23:11 ConnectionError

忘れてください! encrypt暗号化されていません

@ bj9215今の

100万ありがとう!

私は同じ問題に遭遇しました。 このPRでは、node-mssqlが暗号化のデフォルトをfalseからtrueに変更したようです。
https://github.com/tediousjs/node-mssql/pull/977

@ataftのコメントは、私の問題の解決にも役立ちました。「encrypt」をfalseに設定すると、問題が修正されました。

@ crazyx13thありがとう、これは私を助けました

忘れてください! encrypt 、〜暗号化されていない〜

これは、1週間で修正しようとするとどうなりますか。
エラーメッセージは非常にわかりにくいです。

どのバージョンのNode.jsを実行していますか? 暗号化を有効にしていますか?

古いバージョンのSQLServerに接続しようとしている場合、古いバージョンのTLSを使用し、SQL Server2008とNode.jsバージョンの両方でサポートされている暗号スイートを使用するように暗号化設定を微調整する必要があります。使っている。

ありがとう。 これで問題は解決しました。 _ --tls-min-v1.0_フラグを追加しました

こんにちは私は同じエラーがあり、私はすでに彼らが以前にコメントしたことをやろうとしました、そして私は同じエラーを受け取り続けます
ConnectionError:{host}への接続に失敗しました:1433-ストリームが破棄された後、writeを呼び出すことができません

これは私の接続文字列です。

const config = {
ユーザー: 'ユーザー'、
パスワード: 'パスワード'、
サーバー: 'ホスト'、
データベース: 'name-dataBase'、
プール:{
最大:230、
最小:0
}
};

データベース接続オプション、オプションでこのパラメーターを使用しました:{暗号化:false}

このページは役に立ちましたか?
0 / 5 - 0 評価