如何在asp.net中解决数据库连接字符串问题?

时间:2012-01-03 09:51:59

标签: asp.net-mvc asp.net-mvc-3 sql-server-2008

我正在使用Visual Studio 2010开发一个asp.net mvc3应用程序。我需要访问数据库。 我把连接字符串写成

SqlConnection conn = new SqlConnection("Data Source=./App_Data/Abcd.mdf;Integrated Security=True;User Instance=True");

但是,当我运行代码时,出现错误:40 - 无法打开与SQL Server的连接。

从SQL Server配置管理器,我启用了TCP / IP,但我仍然得到相同的例外。

我也尝试将连接字符串更改为

SqlConnection conn = new SqlConnection("System.Configuration.ConfigurationManager.ConnectionStrings.ConnectionString");

但我得到一个异常,说“初始化字符串的格式不符合从索引0开始的规范。”

我如何克服这个问题?

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

这取决于您使用的数据库类型:SQL Express或SQL Developer / Standard。如果您使用SQL Express,您可以查看说明不同连接字符串的following article。例如:

Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|Abcd.mdf;Integrated Security=True;User Instance=True

如果您使用的是完整版的SQL Server,则您的数据库不再存储在App_Data文件夹中。它由SQL Server管理。在这种情况下,请查看following site连接字符串,具体取决于您的方案。

示例:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

答案 1 :(得分:0)

SqlConnection conn = new SqlConnection("Data Source=.\sqlexpress;database=dbname;AttachDbFilename=|DataDirectory|\Abcd.mdf;Integrated Security=True;User Instance=True");
or
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("webconfigconnectionname").ConnectionString);

答案 2 :(得分:0)

在VS中单击服务器资源管理器并添加连接 设置连接后,右键单击已建立的连接并选择属性 您将打开属性窗口。在该窗口中选择连接字符串,您可以在sqlconnection

中使用该字符串