【问题标题】:OracleConnection throw null exception upon Open()OracleConnection 在 Open() 上抛出空异常
【发布时间】:2016-08-22 00:06:14
【问题描述】:

当代码到达 OracleConnection 对象的 .Open() 方法时,它抛出空异常,不知道为什么。 这是代码:

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

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

默认 System.Data.Oracle 使用该连接字符串正确打开连接。 阅读几乎所有关于迁移的主题,到目前为止还没有运气。

【问题讨论】:

  • 嗯,不是吗?我问为什么 Open 方法会抛出该异常,因为它已正确初始化。
  • @OwenPauling 帖子中的“空引用”字样不会自动将其限定为重复。

标签: c# oracle


【解决方案1】:

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

奇怪的部分 - 只有 NullRef 异常,没有 ORA 错误。 在我正确安装之后 - 一切正常。

还将我的代码改写为 OracleDataAdapter 而不是 OracleDataReader - 代码运行得更快、更稳定。

【讨论】:

  • 我发现在 ODP.Net 中,如果你使用通用异常处理程序,你并不总是能得到很好的错误报告,如果你捕捉到一个OracleException,你会得到一个 ORA 号码,它会给你更多信息
  • 谢谢伙计!但是我的那部分代码不仅可以抛出 OracleException,而且实际上,我认为这不是 OracleProblem,只是 VS 无法正确加载 dll,或者类似的东西。
猜你喜欢
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 2015-09-25
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-08-17
相关资源
最近更新 更多