Ошибка MSSQL «Основной поставщик не удалось открыть» - PullRequest
205 голосов
/ 19 марта 2010

Я использовал .mdf для подключения к database и entityClient. Теперь я хочу изменить строку подключения, чтобы не было файла .mdf.

Правильно ли следующее connectionString?

<connectionStrings>
   <!--<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />-->
   <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />

Потому что я всегда получаю ошибку:

Основной провайдер не удалось открыть

Ответы [ 39 ]

0 голосов
/ 18 мая 2013

Распространенная ошибка, которую я совершил, потому что я переносил приложение с одного компьютера на другой, и ничего из вышеперечисленного не работало, состоял в том, что я забыл скопировать строку подключения в App.Config и Web.Config!

0 голосов
/ 25 июля 2017

Я решил таким образом.

Шаг 1: Откройте диспетчер информационных служб Интернета

Шаг 2: Нажмите на Пулы приложений в левом дереве навигации.

Шаг 3: Выберите вашу версию Pool. В моем случае я использую ASP .Net v4.0. Если у вас нет этой версии, выберите DefaultAppPool.

Шаг 4: Щелкните правой кнопкой мыши на шаге 3 и выберите дополнительные параметры.

Шаг 5: Выберите Identity в окне свойств и нажмите кнопку, чтобы изменить значение.

Шаг 6: Выберите «Локальная система» в поле со списком «Встроенные учетные записи» и нажмите «ОК». Вот и все. Теперь запустите ваше приложение. Все хорошо работает.

Решение для Codeproject: основной провайдер-сбой-при-открытии

0 голосов
/ 28 февраля 2017

Ни один из ответов не сработал для меня

Я думаю, что некоторые из нас делают глупые ошибки, есть 100 способов потерпеть неудачу ...

Моя проблема была в новом проекте, я настроил всю конфигурацию в другом проекте , но вызывающим был проект Web Api, в котором мне пришлось скопировать ту же строку подключения в проекте Web api.

Я думаю, что это безумие, учитывая, что я даже не обновлял dbcontext или что-то из веб-API.

В противном случае библиотека классов пыталась найти базу данных с именем

TokenApi.Core.CalContext   

из которых мой проект называется TokenApi.Core, а CalContext - это имя строки подключения и имя файла

0 голосов
/ 10 ноября 2014

Я скопировал файлы базы данных (.mdf / .ldf) в папку App_Data, чтобы избавиться от этого исключения.

0 голосов
/ 25 июля 2014

У меня была похожая проблема: в моих тестовых примерах я всегда получал эту ошибку. Я обнаружил, что моя «Служба распределенных транзакций» не была запущена (запустите: services.msc -> start «Служба распределенных транзакций» (лучше всего настроить ее запуск автоматически)) После того, как я это сделал, это сработало как шарм ...

0 голосов
/ 02 мая 2014

У меня была такая ошибка, неожиданно неожиданная на одном из наших сайтов. В моем случае оказалось, что срок действия пароля пользователя SQL истек! Сняв флажок окончания срока действия пароля в SQL Server Management Studio добился цели!

0 голосов
/ 17 апреля 2013

У меня была та же проблема, но у меня получилось удалить ее из строки подключения:

persist security info=True

0 голосов
/ 18 мая 2013

Я только что удалил Entity Framework 5 и заменил его на LINQ to SQL .Это намного проще ... И больше никаких странных исключений для обработки.

Entity Framework 5, что пустая трата времени.

Иногда мы действительно должны спросить себя, стоит ли Entity Framework 5 всепроблема, которую он представляет для чего-то, что должно быть довольно простым.

0 голосов
/ 16 апреля 2018

Я искал во всем Интернете эту проблему.У меня неверное имя в строке подключения, проверьте строку подключения в web.config.У меня было name="AppTest", но это должно было быть name="App".

В моем файле AppTestContext.cs у меня было:

public AppTestContext() : this("App") { }

Неверная строка подключения:

<add connectionString="Data Source=127.0.0.1;Initial Catalog=AppTest;Integrated Security=SSPI;MultipleActiveResultSets=True" name="AppTest" providerName="System.Data.SqlClient" />

Правая строка подключения:

<add connectionString="Data Source=127.0.0.1;Initial Catalog=AppTest;Integrated Security=SSPI;MultipleActiveResultSets=True" name="App" providerName="System.Data.SqlClient" />
0 голосов
/ 18 июня 2016

в моем случае адрес сервера был изменен администратором сервера, поэтому мне пришлось изменить строку подключения на новый адрес сервера

...