我的机器今天在玩我吗?
当我运行此对象的TestConnectionString()
方法时,我在连接字符串设置中收到错误。
public class CustomerDAL
{
string connectionString = ConfigurationManager.ConnectionStrings["myConnection"].Name;
public CustomerDAL()
{
}
public string TestConnection()
{
System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connectionString);
conn.Open();
if (conn.State == System.Data.ConnectionState.Open)
{
return "Open";
}
else
{
return "Close";
}
}
}
答案 0 :(得分:7)
如果ConnectionStrings["myConnection"]
返回null,则取消引用它以获取Name
属性将在构造函数中失败。这绝对不是bug的地方吗?
为什么不在该行上设置断点并查看ConfigurationManager.ConnectionStrings
以查看认为的内容 - 并仔细检查 以进行拼写错误。
之后,在方法的第一行放置一个断点,并检查connectionString
的值是什么。将null
传递给SqlConnection
构造函数实际上并不会引发异常,但是当您尝试打开它时,您会得到InvalidOperationException
。
答案 1 :(得分:1)
我有三个建议
答案 2 :(得分:0)
今天早上我的代码完全正常。问题是数据库服务器本身,它拒绝来自我们的IP地址的连接(网络提供商改变了我们的IP地址)。
不知何故,SqlConnection对象将“对象引用未设置为对象的实例”,而不是从数据库服务器中继原始响应。