Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Erro MSSQL 'O provedor subjacente falhou ao abrir'


Eu tive esse erro e encontrei algumas soluções:

Olhando para sua string de conexão, parece válida. Encontrei esta postagem no blog, o problema aqui é que eles estavam usando a Segurança Integrada. Se você estiver executando no IIS, seu usuário do IIS precisará acessar o banco de dados.

Se você estiver usando o Entity Framework com transações, o Entity Framework abre e fecha automaticamente uma conexão com cada chamada de banco de dados. Portanto, ao usar transações, você está tentando distribuir uma transação por várias conexões. Isso eleva para MSDTC.

(Consulte esta referência para obter mais informações.)

Alterando meu código para o seguinte corrigiu:
using (DatabaseEntities context = new DatabaseEntities())
{
    context.Connection.Open();
    // the rest
}