我有一个查询数据库的Visual Studio 2012 ASP.NET MVC应用程序.我被告知最好将连接字符串保存在web.config文件中.名为ConnString的连接字符串位于:
<connectionStrings> <add name="ConnString" connectionString="Data Source=IP_OF_SERVER,PORT; Initial Catalog=DATABASE_NAME; UID=USERNAME; pwd=PASSWORD; Integrated Security=True;"/> </connectionStrings>
在C#中我想获取连接字符串,我使用:
String connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
应用程序在此行上死亡并抛出以下异常:
Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object.
我包括:
using System.Configuration;
在页面顶部,但它仍然失败.我尝试使用System.WebConfiguration,但我仍然无法获取字符串.我如何获得字符串?
解决方法
将您的web.config文件更改为包含providerName =“System.Data.SqlClient”作为连接字符串的属性,如下所示:
<connectionStrings> <add name="ConnString" connectionString="Data Source=IP_OF_SERVER,PORT; Initial Catalog=DATABASE_NAME; UID=USERNAME; pwd=PASSWORD; Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings>