EntityException: базовый поставщик не удалось открыть + внутренние исключения - PullRequest
0 голосов
/ 03 мая 2019

Заранее извиняюсь, потому что вижу, что многие люди уже ответили на этот вопрос, но все еще не могут найти ответ, который я ищу.

В моем решении я получил 5 проектов, в которых 2 являются библиотеками C # (базовый уровень и уровень данных).Другие 3 используют уровень Core для подключения к уровню данных, и эти три являются проектом веб-API, тестовым проектом winform и проектом MVC.В настоящее время я пробую проект winform, и именно здесь происходит ошибка.Проект API отлично работает при подключении к базе данных.

Как следует из заголовка, я получил это общее исключение в проекте winform

System.Data.DataException: 'Возникла исключительная ситуация при инициализации базы данных.Подробности см. В InnerException. '

EntityException: базовый поставщик не удалось открыть.

со следующими внутренними исключениями

SqlException: Истекло время ожидания соединения,Период ожидания истек при попытке использовать подтверждение рукопожатия перед входом в систему.Это может быть связано с тем, что рукопожатие перед входом в систему не удалось или сервер не смог ответить вовремя.Продолжительность попытки подключения к этому серверу составила - [Pre-Login] initialization = 38878;handshake = 35;


Win32Exception: истекло время ожидания операции

В моем Datacontext возникают ошибки Database.Initialize(true);:

    public class DataContext : DbContext
    {
        public DataContext() : base("HololensRegistreringsskyltar")
        {
            Database.SetInitializer(new DataContextInitializer<DataContext>());
            Database.Initialize(true);
        }
    }

Я также использую общий шаблон репозитория с Unit Of Work, если это имеет значение (и я новичок в этом).

Кстати, в проектах API есть только строка подключения web.config, может бытьв двух других «внешних» слоях тоже должно быть?

Может кто-нибудь сказать мне, как решить эту проблему и заставить ее работать для всех 3 «внешних» слоев?

1 Ответ

0 голосов
/ 03 мая 2019

Следующие случаи могут вызвать это исключение:

  • Экземпляр ядра СУБД SQL Server не работает.
  • Служба браузера SQL Server не запущена.
  • TCP / IP отключен.
  • Имя сервера было введено неправильно.
  • Есть проблемы с сетью.
  • Порт TCP / IP для экземпляра компонента Database Engine заблокирован брандмауэром.
  • Клиент и сервер не настроены на использование одного и того же сетевого протокола.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...