ASP.NET连接字符串到本地SQL Server数据库,使用web.config
为什么System.Data.SqlClient.SqlConnection
类抛出一个异常,“参数不正确”?ASP.NET连接字符串到本地SQL Server数据库,使用web.config
我试图学习如何使用.NET框架4.5使用本地SQL数据库和ASP.NET MVC项目建立数据库连接。
下面是我所采取的导致了这个步骤:
在我的项目
App_Data
文件夹中创建一个新的SQL Server数据库,名为TestSQLdb.mdf
。-
创建一个连接字符串中
web.config
:<add name="SQLTestConnection1" connectionString="Data Source=(LocalDB);initial catalog=TestSQLdb;Integrated Security=true" />
-
通过
string cn_str = ConfigurationManager.ConnectionStrings["SQLTestConnection1"].ConnectionString;
访问连接字符串(见this SO线程的详细信息在此)。
-
创建一个新的连接:
SqlConnection conn = new SqlConnection(cn_str);
-
尝试打开连接:
try { conn.Open();
在这一点上,则抛出异常。
我试图设置它,所以它会简单易学。我错过了什么?
当你用的LocalDB工作,你必须指定你的connectionString一个AttachDbFileName属性。此属性应该指向您的TestSQLdb.mdf文件。初始目录是您的mdf文件中dataBase的名称。
看到MSDN这个例子
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />
是的,就是这样。 +1为有用的链接。 – 2015-02-23 21:10:13
您没有将变量传递给new SqlConnection
,而是尝试调用一个名为cn_str
的函数。
要使其起作用,您需要从名称中删除括号。
SqlConnection conn = new SqlConnection(cn_str);
嗯,我的错我没有指出我实际上使用函数来获取'cn_str'。感谢您指出了这一点,但这不是我想的问题。如果需要,我会编辑我的问题。 – 2015-02-23 21:05:07
如果这是问题所在,那么错误信息会有所不同,例外情况会在不同的时间发生。 – mason 2015-02-23 21:25:02
你真的调用一个方法'cn_str()'在'新SqlConnection'或者是它只是一个错字? – 2015-02-23 20:50:58
@PilgerstorferFranz:'cn_str()'方法在我的代码中是正确的,但是例如这里应该只是'cn_str'。感谢您指出。我会编辑我的问题,因为@ NightOwl888在下面的回答中也指出了这个问题。 – 2015-02-23 21:06:38