【问题标题】:Oracle create automatic connections after open()Oracle 在 open() 后创建自动连接
【发布时间】:2015-01-10 12:39:51
【问题描述】:

当我使用 C# 创建新连接时,我可以看到有更多连接打开,但其中 4 个是自动创建的。这是在 4 个连接中调用的以下 SQL 查询:

SELECT parameter, VALUE
  FROM sys.nls_database_parameters
 WHERE parameter IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET')

这些只有在我打开连接时才会执行。有什么想法可以防止它们被调用,或者在它们被执行后关闭它们吗? 还是将池设置为 false 的最佳解决方案?

有什么想法吗??

谢谢!

【问题讨论】:

    标签: c# oracle oracle11g connection-pooling


    【解决方案1】:

    多个连接可能是由连接池引起的。如果您同时使用不同的连接对象调用多个数据库命令,则需要创建更多连接。默认最小池大小为 1,池增加大小为 5。因此,当您有一个连接并且同时需要更多连接时,可以打开更多与数据库的会话。

    从 NLS_DATABASE_PARAMETERS 获取数据是因为客户端需要了解 NLS 设置。如果使用非托管 Oracle.DataAccess,则从非托管代码中触发该命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      相关资源
      最近更新 更多