【问题标题】:ODP.NET - Connection Pool not fillingODP.NET - 连接池未填充
【发布时间】:2018-08-13 23:08:27
【问题描述】:

.NET Web 应用程序使用 12c 客户端/ODP.NET 连接到 Oracle 12c 数据库。

在大多数机器上,它都能正常工作。我们有一些页面最终有 2 个连接到同一个数据库 - 我知道这不是一个好的做法,但这就是它的编码方式,它适用于大多数机器,目前不会改变。

在一些机器上,这些带有嵌套连接的页面失败 - 我们在没有 ORA- 代码的情况下获得连接超时,并且在打开第二个连接的代码中出现 -1000 错误代码。即使我们在连接池上设置了最小值,它也只是保持在 1。连接似乎超时,甚至没有尝试实际连接到数据库。这些症状看起来与 2017 年这个未回答的问题中描述的相似,尽管我们的问题不是间歇性的 - 每次都在受影响的机器上发生:ODP.NET Connection request timed out

在失败的机器上,如果我们在连接字符串中关闭连接池,那么问题页面可以工作,但速度太慢 - 响应时间是几分钟。

很明显,问题机器上的配置有所不同,但我一直找不到。许多小时比较机器和搜索互联网,但仍然没有弄清楚这一点。

我认为这可能与分布式事务有关,但我还没有找到可以修复它的设置。有没有人看到这个并对问题可能出在哪里有任何想法?

【问题讨论】:

    标签: .net oracle odp.net


    【解决方案1】:

    也许不是答案,而是解决方法。我没有使用 TNS 标识符,而是将连接信息直接放入连接字符串中,它突然开始工作了。

    我进行了比以前更好的跟踪,并注意到除了连接超时错误之外,跟踪中还有一堆“无法解析 TNS”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 2014-10-19
      相关资源
      最近更新 更多