Проблемы с базой данных Godaddy ASP.NET

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

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

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

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


person The_AlienCoder    schedule 17.11.2009    source источник
comment
НАКОНЕЦ-ТО Я НАШЕЛ РЕШЕНИЕ (СЛАВА БОГУ!) -- После 2 дней гугления я понял это! --Godaddy не разрешает роли, если вы не используете LocalSqlServer в качестве строки подключения поставщика членства -- вот изменения, которые я внес в свой web.config -- (1) изменил строку подключения поставщика aspnetmem на LocalSqlServer (2) создал строку подключения LocalSqlServer ... но не забудьте сначала удалить его, т.е. ‹удалить имя=LocalSqlServer/›... затем ‹добавить имя... (3) указал строку соединения LocalSqlServer на мою базу данных членства.   -  person The_AlienCoder    schedule 18.11.2009


Ответы (2)


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

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

Затем создайте строку подключения "LocalSqlServer"... не забудьте сначала удалить ее.

<connectionStrings>
    <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer"
        connectionString="Data Source=xxxx; Initial Catalog=xxx; User ID=xxx; Password=xxx;"
        providerName="System.Data.SqlClient" />
</connectionStrings>
person The_AlienCoder    schedule 17.11.2009
comment
Привет, миллион спасибо вам за это решение. Я собирался спать после того, как почесал голову, затем погуглил и получил ваш ответ. - person pokrate; 14.01.2010
comment
невероятно... можно подумать, что godaddy прокомментировал бы это в разделе базы данных sql. С какой стати им принудительно использовать имя LocalSqlServer? - person Induster; 08.04.2013
comment
Я сделал то, что вы предложили @The_AlienCoder, но я продолжаю получать это исключение «система не может найти указанный файл». У меня был вопрос здесь с подробностями того, что я пробовал. Любая помощь или направление были бы потрясающими. stackoverflow.com/questions/20463119/ - person strider; 11.12.2013

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

Найдите «connectionStringName» в web.config и замените имя на connectionStringName="LocalSqlServer".

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

-Добавить (поскольку это важно для всех, кто использует виртуальный хостинг, он заменит строку подключения machine.config LocalSqlServer на вашу.) -Сохранить текущую строку подключения (в моем случае это 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>
person NoviceMe    schedule 17.09.2012