Настройка членства в ASP.NET - проблемы с базой данных - PullRequest
2 голосов
/ 14 февраля 2010

Я настраиваю поставщика членства, и в результате я получаю следующее сообщение об ошибке:

An attempt to attach an auto-named database for file

C: \ Users \ Mcoroklo \ Desktop \ Programmering \ Private Projekter \ ASP.NET \ Helpdesk \ Version4 \ HelpDesk \ ClientSite \ App_Data \ ASPNETDB.mdf не удалось. База данных с тем же именем существует или указанный файл не может быть открыт или находится на общем ресурсе UNC.

Я новичок в настройке членства, поэтому не могу отрицать, что чего-то действительно важного не хватает! : -)

Я совершенно уверен, что это как-то связано с моей строкой соединения и / или поставщиком членства SQL. У меня есть следующие настройки в моем web.config:

Строка моего подключения:

  <connectionStrings>
<add name="MembershipServer" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\ASPNETDB.mdf; Trusted_Connection=Yes;"/>

Мой поставщик SQL

 <membership defaultProvider="AspNetSqlProvider">
  <providers>
    <clear/>
    <add connectionStringName="MembershipServer" 
         name="AspNetSqlProvider"
         applicationName="/" 
         type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</membership>

Моя аутентификация и авторизация:

 <authentication mode="Forms">

  <forms name=".ASPXFORMSAUTH" loginUrl="Site/Login.aspx"
      cookieless="UseCookies"  >
  </forms>
</authentication>

<authorization>
  <deny users="?"/>
</authorization>

Файловая структура на моем сайте такова, что в моем каталоге есть две локальные базы данных. Членство (ASPNETDB.MDF) - это то, на которое я указываю строку подключения. Я использовал инструмент ASP.NET для его создания.

Другая база данных, к которой я подключаюсь через классы LINQ TO SQL, находится в другом проекте (с использованием уровней слоев).

Спасибо большое !!

Ответы [ 3 ]

1 голос
/ 14 февраля 2010

Visual Studio инициализирует все это для вас.Вы встаете на своем пути.Эту базу данных еще предстоит создать и подготовить для вас.

Удалите элемент строк подключения, элемент членства, элемент аутентификации и элемент авторизации.

или еще лучше Начните ссвежее приложение Asp.Net

Затем нажмите «Проект» (или веб-сайт)> «Конфигурация Asp.net» и выполните шаги.aspnet_reqsql.exe.

0 голосов
/ 06 апреля 2010

Помните, что machine.config определяет строку подключения с именем "LocalSqlServer", и по умолчанию ваше приложение будет использовать это.

Чтобы исправить проблему, либо явно удалите имя так:

<connectionStrings>
    <remove name="LocalSqlServer" />
    <!-- your new connection string here -->
</connectionStrings>

или используйте clear, но я не проверял:

<clear/>

Обычно я просто перезаписываю LocalSqlServer, поэтому моя строка подключения называется той же самой, что, похоже, решает большинство проблем.

Как уже упоминалось, вы присоединяете ASPNETDB, когда он должен сделать это для вас при настройке приложения с помощью диспетчера сайтов ASP.NET.

0 голосов
/ 14 февраля 2010

Попробуйте удалить \ перед именем базы данных.

AttachDbFilename = | DataDirectory | ASPNETDB.mdf

вместо:

AttachDbFilename = | DataDirectory | \ ASPNETDB.mdf

Да, и еще одна мысль, у вас на компьютере загружен SQL Express, верно?

...