Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Falha ao conectar bd projeto inicial - Ubuntu 22.04.1

Olá! Segui a configuração sugerida pelo colega nesse post: Criação do Ambiente em Linux , porem, não consigo fazer o app conectar ao banco. Tentei diversas strings de conexão diferentes, como:

Server=localhost,1434;Database=AluraLeiloesDB;Integrated Security = True;User Id=sa;Password=1q2w3e4r@#$;Trusted_Connection=False; TrustServerCertificate=True;

Server=localhost,1434;Database=AluraLeiloesDB;User ID=sa;Password=1q2w3e4r@#$;Trusted_Connection=False; TrustServerCertificate=True;

Server=host.docker.internal;Database=AluraLeiloesDB;User ID=sa;Password=1q2w3e4r@#$;

"Data Source=localhost,1434;Initial Catalog=AluraLeiloesDB; Integrated Security=true; User=sa; Password=1q2w3e4r@#$; Trusted_Connection=False; TrustServerCertificate=True;"

e continuo tento a mesma falha:

dotnet run
Unhandled exception. Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
 ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception.
 ---> System.TypeInitializationException: The type initializer for 'SslMethods' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'Ssl' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'SslInitializer' threw an exception.
 ---> Interop+Crypto+OpenSslCryptographicException: error:0E076071:configuration file routines:module_run:unknown module name
   at Interop.SslInitializer..cctor()
   --- End of inner exception stack trace ---
   at Interop.Ssl..cctor()
   --- End of inner exception stack trace ---
   at Interop.Ssl.SslV2_3Method()
   at Interop.Ssl.SslMethods..cctor()
   --- End of inner exception stack trace ---

O container está rodando, dá para acessar o banco e rodar logs. Também consegui conectar externamente ao container pelo Azure Data Studio. Até criei o database e testei fazendo a conexão por string e funcionou normalmente. A exceção fala do “ssl”, pode ser algum conflito de versões?

Versão ssl da máquina:

OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
2 respostas
solução!

Consegui uma solução. O problema é mesmo o ss como citado nesta discução: how to install mssql server on ubuntu 22.04 Error code 0x2746 #1419 , tentei atualizar o ssl do container e até mesmo desativa-lo, mas sem sucesso. Então resolvi conectar ao bd local da máquina e, pra minha surpresa, continuou com a mesma falha. Como tenho outros projetos conectados ao banco e com a mesma string, comecei a olhar para o Framework. Depois de mais algumas pesquisas, descobri que esse problema ocorre ao tentar conectar um app dotnet core 3 há servidores ubuntu 20.04 ou superior exatamente por falta de suporte ao ssl. Então a opção que encontrei foi modificar o projeto da aula. Para evitar fazer muitas alterações de configurações no código, escolhi atualizar o .Net para versão 5 e não o 7(atual) pois o 5 ainda possui a classe Startup. O upgrade é simples e da para fazer seguindo a documentação oficial: MS - Migrate from .net 3 to 5 . Também precisei atualizar os pacotes. Não sei se tem uma maneira mais simples, mas eu desinstalei e reinstalei um por um para versões que funcionassem com donet 5. Agora está tudo rodando tranquilamente.

Grande Walter, bom dia!

Camarada muito obrigado por compartilhar conosco essa solução.

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!