MVC 4 Connectionstring到SQL Server 2012

我使用Visual Studio 2012在C#中创建了一个全新的MVC 4应用程序。我正在尝试连接到一个全新的SQL Server 2012(标准)实例,但我似乎无法正确设置我的连接字符串。

我的Web.config中的连接字符串:

   

每次从Visual Studio中进入ASP.NET配置时,页面都会加载,但只要我点击“安全性”,我就会收到以下消息:

您选择的数据存储存在问题。 这可能是由无效的服务器名称或凭据或权限不足引起的。 它也可能是由未启用角色管理器function引起的。 单击下面的按钮可重定向到可以选择新数据存储的页面。

以下消息可能有助于诊断问题: 无法连接到SQL Server数据库。

我已经validation我的凭据是正确的(我可以使用它们通过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网站配置工具中得到相同的错误? FWIW我也使用Windows 8,但我认为这不重要。

还有什么别的我可以查一下吗?

更新3:

我发现这篇文章说你不再需要用于MVC 4的aspnet_regsql工具了,所以我重新运行了删除所有设置的工具,但是再次没有运气。 有没有人以前用MVC 4做过这个?

更新4:

有关我找到的解决方案,请参阅下面的答案。

如果您能够使用Sql Management Studio进行连接,那么我相信连接字符串一定存在问题 –

连接字符串您使用以下格式 –

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

尝试使用IP Address, Port数据源字段中的IP Address, Port ,如 –

     

或尝试其他变化 –

标准安全

 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

没有尝试使用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;" 

您可能需要在config中启用角色管理器

  

感谢大家的投入,我终于找到了解决方案。 我遇到了这篇文章 ,它描述了VS 2012用于MVC 4的新简单成员。我基本上刚刚开始,创建了一个新的数据库,新的MVC 4项目,并且只是按照文章中的说明进行操作。 果然,只需在网页上“注册”就可以在我的数据库中创建表格并存储用户信息。

虽然lhan16的回答对我有帮助,但是说你需要添加的只是一个DefaultConnection会更简单。 我从同一个地方开始,MVC使用的数据库连接不适用于安全框架。 框架的作者从未想过你不会使用DefaultConnection。