【发布时间】:2013-01-06 23:10:36
【问题描述】:
使用最近安装的 Visual Studio 2012,但现在我无法连接到我们的 SQL Server 数据库。
这些是我正在遵循的步骤
- 创建
App1.config -
在
App1.config中输入:<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name ="xxx" connectionString="USER ID=xx;PASSWORD=xx;PERSIST SECURITY INFO=True;Data Source=xx;Initial Catalog=xx" /> </connectionStrings> </configuration> 将项目引用添加到
System.Configuration-
通过以下方式创建对命名空间的访问:
using System.Data.SqlClient; using System.Data; using System.Configuration; -
执行以下操作:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace ConsoleApplication10 { class Program { static void Main(string[] args) { SqlConnection conn = null; conn = new SqlConnection(ConfigurationManager.ConnectionStrings["xxx"].ConnectionString); } } } 我创建了一个新的控制台应用程序并添加了上述内容,但我仍然收到错误
NullReferenceException was unhandledObject reference not set to an instance of an object....
编辑
通过即时窗口,我确定以下内容为空:
ConfigurationManager.ConnectionStrings["xxx"].ConnectionString
如果我将连接字符串硬编码到SqlConnection 的构造函数中,那么它可以连接
我错过了什么 - 一些非常明显的东西!还是这与我的新 VS 有关?
【问题讨论】:
-
使用调试器准确确定哪个变量/表达式为空。
-
什么是空的?
conn或ConfigurationManager返回的连接字符串? -
格式不佳,请查看您的问题。一些零件丢失了
-
@Cybermaxs 好的 - 我将准确确定什么是 null 并添加到 OP
-
@ThorstenDittmar - 谢谢:看起来配置管理器正在返回一个空字符串 - 如果我将字符串硬编码,那么它执行得很好
标签: c# visual-studio ado.net