2016-04-27 102 views
0

当代码到达OracleConnection对象的.Open()方法时,抛出null异常,无法得到原因。 这里是代码:OracleConnection在打开时抛出null异常()

using (OracleConnection connection = new OracleConnection($"User Id={dbLogin};Password={dbPass};Persist Security Info=False;Data Source={server}")) 
{ 
    connection.Open(); 
} 

所有信息传递给连接字符串正确。 当我尝试从.Net甲骨文迁移到ODA.NET,使用Oracle.DataAccess v 4.0.3时,发生了这种情况sudation

默认System.Data.Oracle正确打开与该连接字符串的连接。 阅读大多数关于移民的话题,至今没有运气。

+0

恩,不是吗?我问为什么打开方法抛出异常,因为它正确初始化。 –

+0

@OwenPauling帖子中的“空引用”一词不会自动将其限定为重复。 – Rob

回答

1

看起来问题出在损坏的Oracle客户端安装中。

奇怪的部分 - 只有NullRef例外,没有ORA错误。 我有适当的安装后 - 一切正常。

而且返工我的代码OracleDataAdapter而不是OracleDataReader - 代码工作更快,更稳定。

+0

我发现使用ODP.Net,如果您使用泛型异常处理程序,您并不总是会得到良好的错误报告,如果您捕获一个'OracleException',您将得到可以给您更多信息的ORA-数字 –

+0

Thanks mate! 但是,我的代码的那部分不仅可以抛出OracleException,实际上,我认为这不是OracleProblem,只是VS无法正确加载dll,或类似的东西。 –