【问题标题】:Biztalk and ODP.net: connection pools and connection stringsBiztalk 和 ODP.net:连接池和连接字符串
【发布时间】:2014-10-23 15:03:31
【问题描述】:

我们的 BizTalk 应用程序存在连接到 Oracle 数据库的接收位置和发送端口的问题。我们的连接用完了。

我不知道为什么,但原始开发人员同时使用了 WCF-Custom 和 WCF-OracleDB,但我认为两者都使用 ODP.NET 作为 ADO.NET 提供程序。

因为,在 ADO.NET 和 ODP.NET 中,连接池以连接字符串为键(我认为字符串完全匹配),所以连接池可以在发送端口和接收位置之间进行逻辑共享。由于我们无法控制连接字符串本身,因此我们必须假设适配器中的连接字符串始终如一地从一个端口生成到另一个端口。

我的问题是:

1- 我是否正确假设接收位置和发送端口可以共享连接池,只要它们在同一主机实例上运行,并且

2- 将相似的端口和位置(使用相同连接字符串的端口和位置)分组到一个主机实例中是否是个好主意?

谢谢你, 米歇尔

【问题讨论】:

  • 仅供参考,WCF-OracleDB 只是 oracleDbBinding 的一流适配器包装器,因此它们实际上是相同的。
  • 你说你的连接用完了,你是指客户端还是服务器端的连接?

标签: connection biztalk odp.net pool


【解决方案1】:

根据下面的网站,连接池确实是通过连接字符串的唯一性来确定的:
http://www.connectionstrings.com/oracle-data-provider-for-net-odp-net/
(参见“指定池化参数”)

解决此问题或至少让您有更好的洞察力的一种方法是启用 ODP.NET 跟踪和性能计数器。这将使您清楚地了解池中正在使用的连接数。

有关如何启用这些功能的更多信息,请参阅:
http://blog.ilab8.com/2011/09/02/odp-net-pooling-and-connection-request-timed-out/

【讨论】:

  • 感谢您的帮助。
  • 请考虑为任何有用的回复点赞并接受任何答案。这就是网站背后的想法;-)
  • 我不能我需要 15 声望
【解决方案2】:

在连接字符串上设置pooling=false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多