我使用Visual Studio2012在C#中创建了一个全新的MVC4应用程序。我正在尝试连接到全新的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>
每次我从Visual Studio中转到ASP.NET配置时,页面都会加载,但只要我单击“安全”,我就会收到以下消息:
您选择的数据存储存在问题。这可能是由无效的服务器名称或凭据或权限不足引起的。这也可能是由于未启用角色管理器功能造成的。单击下面的按钮可重定向到可在其中选择新数据存储的页面。
以下消息可能有助于诊断问题:Unable to connect to SQL Server database。
我已验证我的凭据是否正确(我可以使用它们通过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我也在使用Windows8,但我认为这无关紧要。
还有什么我可以检查的吗?
更新3:
我发现this post说你在MVC4中不再需要aspnet_regsql工具了,所以我重新运行了这个工具,删除了所有的设置,但还是没有成功。以前有人用MVC4做过这样的事情吗?
更新4:
关于我找到的解决方案,请参阅下面的答案。
发布于 2012-10-30 11:10:45
感谢大家的投入,我终于找到了解决方案。我偶然发现了,它描述了VS2012用于MVC4的新的简单成员资格。我基本上只是重新开始,创建一个新的数据库,新的MVC4项目,并按照文章中的说明进行操作。果然,仅仅在网页上“注册”就在我的数据库中创建了表并存储了用户信息。
发布于 2012-10-22 02:39:00
如果您能够使用Sql Management Studio进行连接,那么我认为连接字符串一定有问题-
您正在使用的连接字符串格式如下-
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;
发布于 2012-10-22 02:37:43
未尝试使用SQL2012,但此连接字符串适用于SQL2008 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;"
https://stackoverflow.com/questions/13000824
复制相似问题