Это обычная проблема. Даже я сталкивался с этой проблемой. На машине разработки, настроенной с аутентификацией Windows, она работает отлично:
<add name="ShoppingCartAdminEntities" connectionString="metadata=res://*/ShoppingCartAPIModel.csdl|res://*/ShoppingCartAPIModel.ssdl|res://*/ShoppingCartAPIModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.\SQlExpress;initial catalog=ShoppingCartAdmin;Integrated Security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
После размещения в IIS с той же конфигурацией я получил эту ошибку:
Основной провайдер не удалось открыть
Исправлено изменение connectionString
в файле конфигурации:
<add name="MyEntities" connectionString="metadata=res://*/ShoppingCartAPIModel.csdl|res://*/ShoppingCartAPIModel.ssdl|res://*/ShoppingCartAPIModel.msl;provider=System.Data.SqlClient;provider connection string="data source=MACHINE_Name\SQlExpress;initial catalog=ShoppingCartAdmin;persist security info=True;user id=sa;password=notmyrealpassword;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
Другие распространенные ошибки могут быть:
- Служба базы данных может быть остановлена
- Атрибуты источника данных, указывающие на локальную базу данных с аутентификацией Windows и размещенные в IIS
- Имя пользователя и пароль могут быть неправильными.