Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Błąd MSSQL „Dostawca bazowy nie powiódł się podczas otwierania”

Wystąpił ten błąd i znalazłem kilka rozwiązań:

Patrząc na parametry połączenia, wygląda on na prawidłowy. Znalazłem ten post na blogu, problem polega na tym, że używali Integrated Security. Jeśli korzystasz z IIS, Twój użytkownik IIS potrzebuje dostępu do bazy danych.

Jeśli używasz Entity Framework z transakcjami, Entity Framework automatycznie otwiera i zamyka połączenie z każdym wywołaniem bazy danych. Tak więc korzystając z transakcji, próbujesz rozłożyć transakcję na wiele połączeń. To awansuje do MSDTC.

(Zobacz ten odnośnik, aby uzyskać więcej informacji.)

Zmiana mojego kodu na następujący naprawiła to:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest prawidłowy typ SQL do przechowywania .Net Timespan z wartościami> 24:00:00?

  2. @@DATEFIRST – Zdobądź pierwszy dzień tygodnia w SQL Server

  3. Przechowywanie komunikatu raiserror z SqlServer w C#

  4. Jak sprawić, by rozszerzenie SQLSRV działało z PHP, skoro MSSQL jest przestarzały?

  5. Najlepszy magazyn danych dla miliardów wierszy