WCF, Entity Framework и SQL Server - «Ошибка основного поставщика при открытии» - PullRequest
3 голосов
/ 17 ноября 2011

Я успешно запускаю тесты через тестовый клиент WCF, пока не попытаюсь получить данные с помощью Entity Framework.

Чтобы убедиться, что я не делаю глупостей, я скачал образец кода из этогоучебник, который делает что-то похожее: http://www.codeproject.com/KB/WCF/WCFandEF.aspx

... и когда я запускаю его, я получаю ту же ошибку в аналогичном месте:

var productEntity = (from p in context.ProductEntities 
                     where p.ProductID == id
                     select p).FirstOrDefault();

Ошибка

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

Я могу нормально открыть базу данных из «обычного приложения» с той же строкой подключения, похоже, это специфический доступ к БД изтестовый клиент WCF.

Исследуйте здесь и в Google: «Основной поставщик не удалось открыть».обычно указывает, что это проблема строки подключения, но я почти уверен, что это не так.

Так что теперь я ожидаю, что это какая-то проблема с разрешениями.

Я использую SQL Server иWindows 7, с Visual Studio 2010.

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

Отредактировано, чтобы включить строку подключения

<add name="NorthwindEntities" 
     connectionString="metadata=res://*/Northwind.csdl|res://*/Northwind.ssdl|res://*/Northwind.msl;provider=System.Data.SqlClient;provider
connection string=&quot;Data Source=localhost;Initial Catalog=Northwind;User ID=sa;MultipleActiveResultSets=True&quot;" 
     providerName="System.Data.EntityClient" />

Ответы [ 4 ]

5 голосов
/ 17 ноября 2011

Эта ошибка на 100% означает проблему в строке подключения.

Хороший способ создать надежно работающую строку подключения - создать новый (фиктивный) проект, добавить в него модель данных Entity Framework, выбрать «Создать модель из базы данных», выбрать требуемое подключение и нажать «Проверить соединение». «чтобы убедиться, что это работает.
Убедитесь, что установлен флажок «Сохранить параметры соединения сущностей в App.Config как: ...».
Чем в вашем web / app.Config, у вас есть строка подключения, которую вы можете скопировать + вставить в свой собственный проект

1 голос
/ 12 февраля 2014

Ну, у меня была та же ошибка в течение нескольких дней ... фактически в течение двух дней, и да Я нашел решение Alhamdulillah ..

Что касается меня ... У меня была установлена ​​проверка подлинности Windows в подключении к службе Entity .. Итак, я перешел к дополнительным настройкам пула приложений IIS 7 для веб-службы ... Изменил Identity с ApplicationPoolIdentity на «Сетевой сервис» и я также устанавливаю свое текущее имя пользователя и пароль.

Позже я мог бы столкнуться с некоторыми другими проблемами, но я бы сказал: Хорошее начало: -)!

1 голос
/ 14 августа 2012

Вы пытались вставить пароль базы данных в строку подключения? У меня это сработало.

Ссылка: http://stack247.wordpress.com/2011/03/02/entity-framework-exception-the-underlying-provider-failed-on-open/

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

Я был удален "интегрированная безопасность = True;"решил таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...