Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie błędu automatycznego tworzenia pliku bazy danych SQLExpress dla witryny korzystającej z programu AspNetSqlMembershipProvider, ale ciąg połączenia jest z programem SQL Server 2005

Zgodnie z Twoim komentarzem wygląda na to, że nie masz jawnie skonfigurowanego dostawcy roli dla Twojej witryny.

Jeśli wszystko, co znajduje się w twoim web.config to:

<roleManager enabled="true" />

Następnie polegasz na domyślnych dostawcach zadeklarowanych dalej w hierarchii konfiguracji (machine.config, global web.config, itp.)

W pliku machine.config prawdopodobnie masz coś takiego:

<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>

Jak widać, pierwszy dostawca jest skonfigurowany do używania ciągu połączenia o nazwie LocalSqlServer - który również jest zwykle deklarowany w pliku machine.config:

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

Jest to zaprojektowane do korzystania z lokalnej bazy danych opartej na plikach, która zostanie utworzona, jeśli jeszcze nie istnieje.

Aby więc role działały w Twojej witrynie, powinieneś zmienić główny plik web.config na coś takiego:

<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>

Użycie elementu usunie wszystkich wcześniej zdefiniowanych dostawców dla tego typu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obliczanie rozmiaru kopii zapasowej bazy danych

  2. SQL Server wykonuje kopię zapasową za pomocą C#

  3. Czy wszystko jest w porządku dla każdego pracownika?

  4. Liczba dni pozostałych w bieżącym miesiącu

  5. Jak mogę wykonać tę kwerendę w programie SQL Server Compact Edition?