Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Errore MSSQL 'Il provider sottostante non è riuscito all'apertura'

Ho riscontrato questo errore e ho trovato alcune soluzioni:

Guardando la stringa di connessione, sembra valida. Ho trovato questo post sul blog, il problema qui è che stavano usando la sicurezza integrata. Se stai utilizzando IIS, il tuo utente IIS deve accedere al database.

Se si utilizza Entity Framework con Transactions, Entity Framework apre e chiude automaticamente una connessione con ogni chiamata al database. Pertanto, quando si utilizzano le transazioni, si tenta di distribuire una transazione su più connessioni. Questo eleva a MSDTC.

(Vedi questo riferimento per ulteriori informazioni.)

La modifica del mio codice in quanto segue l'ha risolto:

using (DatabaseEntities context = new DatabaseEntities())
{
    context.Connection.Open();
    // the rest
}