Tedious: ConnectionError: Falha ao conectar a {{host}}: 1433 - Não é possível chamar a gravação depois que um fluxo foi destruído

Criado em 29 jul. 2019  ·  14Comentários  ·  Fonte: tediousjs/tedious

Erro ao conectar ao banco de dados (Sql Server 2008 R2)

Estou usando "mssql": "^ 5.1.0"

Consigo me conectar ao localhost e ao SQL Server 2017

[Nest] 29632 - 29/07/2019, 21:34 [TypeOrmModule] Não foi possível conectar ao banco de dados. Tentando novamente (1) ... + 876 ms
ConnectionError: Falha ao conectar a {{host}}: 1433 - Não é possível chamar a gravação depois que um fluxo foi destruído
em Connection.(nrwlnode_modulesmssqllibtedious.js: 244: 17)
em Object.onceWrapper (events.js: 288: 20)
em Connection.emit (events.js: 200: 13)
em Connection.socketError (nrwlnode_modulestediouslibconnection.js: 1098: 12)
em Socket.(nrwlnode_modulestediouslibconnection.js: 971: 14)
em Socket.emit (events.js: 205: 15)
em errorOrDestroy (internal / streams / destroy.js: 107: 12)
em onwriteError (_stream_writable.js: 432: 5)
em onwrite (_stream_writable.js: 459: 5)
em doWrite (_stream_writable.js: 413: 11)

Por favor, sugira alguma solução :)

Idle

Comentários muito úteis

esqueça! encrypt , não criptografado

Todos 14 comentários

Olá @ bj9215 ,

Qual versão de tedioso você está usando? Mssql package.json está usando uma versão desatualizada do tedioso (a versão tediosa atual é v6.2.0). Tente atualizar isso e veja se ajuda? :)

Em qual versão do Node.js você está executando? Você tem criptografia habilitada?

Como você está tentando se conectar a uma versão mais antiga do SQL Server, provavelmente precisará ajustar as configurações de criptografia para usar uma versão mais antiga do TLS e usar um ciphersuite compatível com o SQL Server 2008 e a versão Node.js que você estão usando.

@ bj9215 Você ainda está tendo esse problema?

Eu tenho um problema semelhante com "tedioso": "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

esqueça! encrypt , não criptografado

@ bj9215 Fechando por enquanto. Sinta-se à vontade para reabrir se você ainda estiver tendo esse problema!

Um milhão de agradecimentos !!

Eu tive o mesmo problema. Parece que node-mssql mudou o padrão de criptografia de falso para verdadeiro neste PR:
https://github.com/tediousjs/node-mssql/pull/977

O comentário de @ataft me ajudou a resolver meu problema também - definir "encrypt" como false corrigiu meu problema.

@ crazyx13th Obrigado, isso me ajudou

esqueça! encrypt , não ~ criptografado ~

Isso é o que se tentar consertar em 1 semana.
A mensagem de erro é muito ininteligível.

Em qual versão do Node.js você está executando? Você tem criptografia habilitada?

Como você está tentando se conectar a uma versão mais antiga do SQL Server, provavelmente precisará ajustar as configurações de criptografia para usar uma versão mais antiga do TLS e usar um ciphersuite compatível com o SQL Server 2008 e a versão Node.js que você estão usando.

Obrigado. Isso resolveu o problema. acabei de adicionar _ --tls-min-v1.0 _ flag

Olá, estou com o mesmo erro e já tentei fazer o que comentei anteriormente e continuo recebendo o mesmo erro
ConnectionError: Falha ao conectar ao {host}: 1433 - Não é possível chamar a gravação depois que um fluxo foi destruído

Esta é minha string de conexão.

const config = {
usuário: 'usuário',
senha: 'senha',
servidor: 'host',
banco de dados: 'name-dataBase',
piscina: {
máx: 230,
min: 0
}
};

Acabei de usar este parâmetro nas opções de conexão do banco de dados, options: {encrypt: false}

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

arthurschreiber picture arthurschreiber  ·  8Comentários

GuyHarwood picture GuyHarwood  ·  7Comentários

tvrprasad picture tvrprasad  ·  5Comentários

tvrprasad picture tvrprasad  ·  6Comentários

gladmustang picture gladmustang  ·  6Comentários