Подтвердить что ты не робот

MVC 4 Connectionstring для SQL Server 2012

Я создал новое приложение MVC 4 на С# с помощью Visual Studio 2012. Я пытаюсь подключиться к совершенно новому экземпляру SQL Server 2012 (Standard), но я не могу правильно установить строку подключения.

Моя строка подключения из моего Web.config:

  <connectionStrings>
    <add name="ConnectionStringName"
        providerName="System.Data.SqlClient"
        connectionString="Data Source=MyServerName;
                          Initial Catalog=MyDatabaseName;
                          Integrated Security=False;
                          User ID=MyUserID;Password=MyPassword;
                          MultipleActiveResultSets=True" />
  </connectionStrings>

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

Проблема с выбранным хранилищем данных. Это может быть вызвано неверным именем сервера или учетными данными или недостаточным разрешение. Это также может быть вызвано функцией диспетчера ролей, а не включен. Нажмите кнопку ниже, чтобы перенаправить на страницу, где вы можете выбрать новое хранилище данных.

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

Я проверил, что мои учетные данные верны (я могу использовать их для подключения через SQL Management Studio). Есть ли что-нибудь еще, что я могу проверить? Я в тупике.

ОБНОВЛЕНИЕ:

Мне не удалось подключиться к моему экземпляру по умолчанию из SQL Management Studio (MSSQLSERVER), поэтому я переустановил SQL, создав именованный экземпляр (LHSQLSERVER). Теперь я могу подключиться к этому экземпляру в SQL Management Studio, но по-прежнему получаю ту же ошибку из конфигурации ASP.NET.

Еще одно замечание - инструмент aspnet_regsql, который я запускал, был из папки Framework64\v4.0.30319. Это правильно, если я использую .NET 4.5?

ОБНОВЛЕНИЕ 2:

Я попытался заменить строку подключения на строку подключения на удаленный сайт (т.е. mysite.winhost.com), который, как я знаю, работает, но я все еще получаю ту же ошибку в ASP.NET Website Configuration Tool? FWIW Я также использую Windows 8, но я не думал, что это имеет значение.

Что еще я могу проверить?

ОБНОВЛЕНИЕ 3:

Я нашел этот пост, в котором говорится, что вам больше не нужен инструмент aspnet_regsql для MVC 4, поэтому я снова запустил инструмент, удалив все настройки, но снова, не повезло. Кто-нибудь сделал это с MVC 4 раньше?

ОБНОВЛЕНИЕ 4:

См. мой ответ ниже для решения, которое я нашел.

4b9b3361

Ответ 1

Спасибо всем за вклад, я наконец нашел решение. Я столкнулся с этой статьей, которая описывает новое простое членство, которое VS 2012 использует для MVC 4. Я в основном просто начал, создавая новую базу данных, новый проект MVC 4 и просто следуя инструкциям в этой статье. Разумеется, просто "регистрация" на веб-странице создала таблицу в моей базе данных и сохранила информацию пользователя.

Ответ 2

Если вы можете подключиться с помощью Sql Management Studio, то я считаю, что проблема с Connection String -

Строка подключения. Вы используете следующий формат -

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
User ID=myDomain\myUsername;Password=myPassword;

Попробуйте использовать IP Address, Port в поле Источник данных, например -

 <connectionStrings>
    <add name="ConnectionStringName"
        providerName="System.Data.SqlClient"
        connectionString="Data Source=190.190.200.100,1433;
                          Initial Catalog=MyDatabaseName;
                          Integrated Security=False;
                          User ID=MyUserID;Password=MyPassword;
                          MultipleActiveResultSets=True" />
  </connectionStrings>

ИЛИ попробуйте другие варианты -

Стандартная безопасность

Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

Надежное соединение

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

Подключение к экземпляру SQL Server

Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;

Ссылка - http://www.connectionstrings.com/sql-server-2012

Ответ 3

не пытался с SQL 2012, но эта строка подключения отлично работала с SQL 2008 R2

connectionString="Server=ServerAddress;Database=DataBaseName;User Id=Username;Password=Password;"

или

connectionString="user id=UserName;password=Password;initial catalog=DatabaseName;data source=SQLServerIPorFQDN;Connect Timeout=30;"

Ответ 4

Возможно, вам потребуется включить диспетчер ролей в config

<roleManager enabled="true"/>

Ответ 5

Хотя ответ lhan16 помог мне, было бы проще сказать, что все, что вам нужно было добавить, было DefaultConnection. Я начал с того же места, и соединение с базой данных, которое использует MVC, не работает для системы безопасности. Авторы структуры никогда не думали, что вы не будете использовать DefaultConnection.