Сообщение об ошибке синтаксического анализатора: имя подключения «LocalSqlServer» не найдено в конфигурации приложений или строка подключения пуста

В настоящее время я настраиваю свой веб-сайт на новом сервере SQL Server 2008, однако получаю следующую ошибку:

 Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.

Source Error:

Line 158:        <roleManager>
Line 159:            <providers>
Line 160:                <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 161:                <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 162:            </providers>


Source File: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\machine.config    Line: 160 

Почему это? И как я могу решить проблему? Спасибо!


person Curt    schedule 13.09.2010    source источник


Ответы (2)


Ну, мне никогда не приходилось делать это раньше на IIS6, и это кажется ненужным. Для начала, если вы добавите строку подключения в web.config с именем «LocalSqlServer», она будет конфликтовать с machine.config? Поэтому вам нужно удалить соединение с машины, чтобы добавить его в сеть. Это то, что я сделал в качестве временного исправления, но я никогда раньше не видел такой настройки в IIS6 или IIS7.

Как сказал Стивен, в этом случае вам не нужно изменять конфигурацию машины.

Наверняка между обоими компьютерами есть еще одно отличие, чтобы это произошло. Пара:

  • у вас был на новом сервере, а не на вашем исходном сервере
  • вы наследуете от другого конфига.
person eglasius    schedule 13.09.2010

Вам не хватает строки подключения в разделе <connectionStrings> файла конфигурации:

<connectionStrings>
    <clear />
    <add name="LocalSqlServer" connectionString="[your connection here]" />
</connectionStrings>
person Steven    schedule 13.09.2010
comment
Мне никогда не приходилось делать это на IIS6? Что бы я поставил в качестве ConnectionString? - person Curt; 13.09.2010
comment
Ну, мне никогда не приходилось делать это раньше на IIS6, и это кажется ненужным. Для начала, если вы добавите строку подключения в web.config с именем «LocalSqlServer», она будет конфликтовать с machine.config? Поэтому вам нужно удалить соединение с машины, чтобы добавить его в сеть. Это то, что я сделал как временное исправление, но я никогда раньше не видел эту настройку на IIS6 или IIS7. - person Curt; 13.09.2010
comment
Просто начните ‹connectionStrings› с ‹clear /›, и он начнется с нового списка. - person Steven; 13.09.2010