Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Грешка при автоматично създаване на файл на база данни SQLExpress за сайт, който използва AspNetSqlMembershipProvider, но низът за връзка е към SQL Server 2005

Според коментара ви изглежда, че не сте конфигурирали изрично доставчик на роли за вашия сайт.

Ако всичко, което е във вашия web.config е:

<roleManager enabled="true" />

Тогава вие разчитате на доставчиците по подразбиране, декларирани по-нагоре в конфигурационната йерархия (machine.config, глобален web.config и т.н.)

В machine.config вероятно имате нещо като:

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

Както можете да видите, първият доставчик е конфигуриран да използва connectionString, наречен LocalSqlServer - който също обикновено се декларира в machine.config:

<add name="LocalSqlServer" 
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
     providerName="System.Data.SqlClient"/>

И това е проектирано да използва локална файлова база данни, която ще бъде създадена, ако все още не съществува.

Така че, за да накарате ролите да работят на вашия сайт, трябва да промените своя root web.config на нещо като:

<roleManager enabled="true">
  <providers>
    <clear />
    <add name="AspNetSqlRoleProvider" 
      connectionStringName="YourConnectionStringName" 
      applicationName="/" 
      type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </providers>
</roleManager>

Използването на елемента ще премахне всички предварително дефинирани доставчици за този тип.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проблем със SSIS Неуспешно дешифриране на защитен XML възел

  2. Индексът е извън границите на масива. (Microsoft.SqlServer.smo)

  3. Промяна на Sql-сървър (експресен) от именуван екземпляр на localhost?

  4. Как работи IIF() в SQL Server

  5. SQL взема само числовите стойности от varchar