Бедная база данных членства Godaddy ASP.NET - PullRequest
3 голосов
/ 17 ноября 2009

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

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

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

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

Ответы [ 2 ]

11 голосов
/ 18 ноября 2009

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

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

Затем создайте "ConnectionSqlServer" 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>
1 голос
/ 17 сентября 2012

Я столкнулся с той же проблемой и использую 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>
...