C # ASP.net MVC вопросы базы данных - PullRequest
1 голос
/ 23 февраля 2010

Я пытаюсь разработать сайт на C # ASP.net MVC. Я впервые использую Visual Studio, C # и ASP.net, поэтому мне есть чему поучиться, но пока все хорошо. Пока ... Я запустил проект C # ASP.net MVC и добавил базу данных, зайдя в Database Explorer и нажав «Добавить соединение». Затем я сделал несколько стандартных CRUD-контроллеров и представлений.

Я нахожусь на этапе, когда я хочу реализовать аутентификацию пользователя. Я немного запутался здесь. Я пытаюсь сделать пользовательского поставщика членства. Поэтому я добавил его в свой файл web.config с правильной строкой подключения и т. Д. Когда я запускаю проект и иду на регистрацию, я получаю сообщение об ошибке. "Не удалось найти хранимую процедуру 'dbo.aspnet_CheckSchemaVersion'."

В результате поиска я вижу, что у многих людей возникает эта проблема, и они всегда ссылаются на свой хостинг. Люди говорят, что это (http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx) - это их решение, но когда я пытаюсь выбрать базу данных, я получаю сообщение об ошибке. Я даже не уверен в имени моего сервера. Так что на данный момент мне интересно, я правильно настроил базу данных?

EDIT

Добавление нескольких фотографий, чтобы точно показать, что я делаю. Это aspnet_regsql.exe: alt text alt text

Это провайдер со строкой соединения, взятый из примера по одной из приведенных ссылок. alt text Это мой пользовательский провайдер со строкой подключения, указывающей на последнее изображение. alt text

Это ограничение экрана, когда я запускаю проект и перехожу к действию по умолчанию для учетной записи проекта: alt text

и, наконец, это сообщение об ошибке при отправке alt text

EDIT

Еще одно обновление ..

Я что-то разобрался, но не уверен, что это правильно. Я получаю сообщение об ошибке при загрузке страницы: «Неверное имя объекта« dbo.Tag »»

Ответы [ 2 ]

2 голосов
/ 23 февраля 2010

Чтобы решить эту проблему, единственное, что вам нужно сделать, - это создать БД служб приложений .Вы можете добиться этого, выполнив следующую команду из командной строки Visual Studio

aspnet_regsql

В любом случае кажется, что ваш «пользовательский поставщик» не использует пользовательскую структуру для вашей БД, что может быть причинойвы не ожидали этой ошибки.

Если вы используете реализацию по умолчанию, вы можете получить доступ к администрированию пользователей с помощью ASP .NET Configuration, расположенной в меню вашего проекта в Visual Studio.

Реализация по умолчанию использует следующее ключевое слово conn string

LocalSqlServer

Существует множество способов реализации поставщика членства.Я предполагаю, что, вероятно, эта строка conn не указывает на вашу базу данных служб aspnet, вы могли бы сделать что-то вроде этого, чтобы указать пользовательское местоположение для этой базы данных.1016 * Как использовать Provider MembershipRole и когда использовать пользовательские реализации

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

Трудно понять что-нибудь из вашего поста.

но когда я пытаюсь выбрать базу данных, я получаю ошибка.

Вы можете проверить имя сервера в конфигурации Surface Area или в Sql Server Configuration Manager. Если вы установили Visual Studio, это, вероятно, YOUR_MACHINE_NAME \ SQLEXPRESS. Вы можете подключиться к нему с помощью проверки подлинности Windows. Вместо этого вы также можете написать localhost, 1433, но для этого потребуется сначала включить TCP / IP (по умолчанию он отключен) и сначала указать номер порта (который в большинстве случаев уже установлен).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...