1
resposta

erro ao executar o primeiro teste do curso

Teste Duração Características Mensagem de erro
JornadaMilhas.Test.Integracao.OfertaViagemDalAdicionar.RegistraOfertaNoBanco Falha 11,2 s System.InvalidOperationException : An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure' to the 'UseSqlServer' call. ---- Microsoft.Data.SqlClient.SqlException : Cannot open database "JornadaMilhas" requested by the login. The login failed. Login failed for user 'NTHMV\igor.alves'.

deu essa mensagem de erro quando tentei executar o primeiro teste do curso. baixei o projeto e implementei o teste.

1 resposta

Olá Rodrigo! Como vai?

A mensagem de erro indica que o login falhou ao tentar acessar o banco de dados "JornadaMilhas". Aqui estão algumas dicas que podem ajudar a resolver esse problema:

  1. Verifique as Credenciais de Acesso: certifique-se de que o nome de usuário e senha que você está usando para acessar o banco de dados estão corretos. No seu caso, parece que está usando a autenticação integrada do Windows ('NTHMV\igor.alves'). Verifique se essa conta tem permissão para acessar o banco de dados "JornadaMilhas".

  2. Banco de Dados Existente: verifique se o banco de dados "JornadaMilhas" realmente existe no servidor que você está tentando acessar. Você pode fazer isso usando o SQL Server Management Studio (SSMS) ou outra ferramenta de gerenciamento de banco de dados.

  3. Configuração de Conexão: no arquivo JornadaMilhasContext.cs, verifique a string de conexão. Certifique-se de que o Data Source e o Initial Catalog estão corretos e que o servidor de banco de dados está acessível.

  4. EnableRetryOnFailure: A mensagem de erro sugere considerar a ativação da resiliência a falhas transitórias. Você pode fazer isso adicionando .EnableRetryOnFailure() à sua configuração de UseSqlServer no método OnConfiguring do seu DbContext. Isso pode ajudar a lidar com falhas transitórias de conexão.

Aqui está um exemplo de como você pode modificar a string de conexão:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder
        .UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=JornadaMilhas;Integrated Security=True;Connect Timeout=30;Encrypt=False;Trust Server Certificate=False;Application Intent=ReadWrite;Multi Subnet Failover=False")
        .EnableRetryOnFailure();
}

Espero que essas sugestões ajudem a resolver o problema! Bons estudos!

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