2009-11-17 6 views
3

Я приобрел учетную запись хостинга Windows на Godaddy, которая поставляется с двумя базами данных MSSQL. Я настраиваю один для хранения данных моего сайта и другой установленной схемы членства aspnet для хранения членов сайта. Сайт отлично работает даже с отображением данных из первой базы данных. Однако, когда я пытаюсь войти в систему или зарегистрироваться я получаю эту неприятную ошибкуGodaddy ASP.NET database database woes

Сведения об исключении: System.Configuration.Provider.ProviderException: усэ Поставщик не нашел файл базы данных, указанной в строке с соединения. На настроенном уровне доверия (ниже Высокого уровня доверия) провайдер SSE не может автоматически создать файл базы данных.

Ive прошел через мой web.config, и нет ничего плохого в моих 2 строках соединения. Кажется, у Godaddy есть проблема с использованием двух баз данных mssql одновременно, когда 1 для членства.

Кто-нибудь знает решение или обходное решение?

+1

Я ПОЛНОСТЬЮ НАЙДЕЛСЯ РЕШЕНИЕ (БЛАГОДАРЯ БОГА!) - После двух дней поиска в Интернете я понял это! --Godaddy не разрешает ролей, если вы не используете «LocalSqlServer» в качестве строки подключения вашего провайдера - вот изменения, которые я сделал с моим web.config - (1) изменил строку подключения поставщика aspnetmem к «LocalSqlServer» (2), созданную строка подключения «LocalSqlServer» ... но не забудьте сначала удалить ее, т. е. ... then

ответ

11

Надеюсь, мой опыт принесет пользу каждому. В принципе, если вы хотите избежать проблем членства aspnet в godaddy, всегда используйте «LocalSqlServer» в качестве строки соединения. т.е.

<providers> 
    <remove name="AspNetSqlMembershipProvider" /> 
    <add name="AspNetSqlMembershipProvider" connectionStringName="LocalSqlServer" 
     ..other attributes here... /> 
</providers> 

Затем создайте "LocalSqlServer" ConnectionString ... не забудьте удалить это первое

<connectionStrings> 
    <remove name="LocalSqlServer"/> 
    <add name="LocalSqlServer" 
     connectionString="Data Source=xxxx; Initial Catalog=xxx; User ID=xxx; Password=xxx;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+0

Привет, миллион благодаря вам за это решение. Я собирался спать после того, как почесал голову, потом погуглил, а затем получил ваш ответ. – pokrate

+0

Еще одно спасибо за это решение. –

+0

невероятное ... вы бы подумали, что Godaddy сделает это в разделе базы данных sql. Почему они вынуждают имя LocalSqlServer? – Induster

1

Я столкнулся с той же проблемой, и я использую MVC3. Выше решения работает, но с некоторыми другими изменениями в MVC3. Это заняло у меня много времени, чтобы понять это, так что если кто-нибудь имеет подобный вопрос в MVC3 это может помочь им:

Искать «connectionStringName» в web.config и заменить имя с connectionStringName="LocalSqlServer"

Также под ConnectionStrings убедитесь,

-Чтобы добавить (как это важно для всех, кто использует виртуальный хостинг он заменит machine.config LocalSqlServer ConnectionString с вашим.) -keep текущей ConnectionString (В моем случае это FilmiDb, это необходимо для вас для подключения к базе данных в модели EF. Без этого вы получите ошибки.)

<connectionStrings> 
    <remove name ="LocalSqlServer"/> 
    <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Initial Catalog=SofilmiDb;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> 
    <add name="FilmiDb" connectionString="Data Source=.\SQLExpress;Initial Catalog=FilmiDb;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

 Смежные вопросы

  • Нет связанных вопросов^_^