会话池句柄

ACI_ATTR_SPOOL_AUTH

  • 模式:

  • 描述:

为了使从会话池中返回的会话是有效的,可以在会话池句柄上设置此属性。 当前,只能在此ACIAuthInfo句柄上设置以下属性:

ACI_ATTR_DRIVER_NAME

ACI_ATTR_EDITION

ACI_ATTR_FIXUP_CALLBACK

如果在ACIAuthInfo句柄上设置了任何其他属性,并且在会话池句柄上设置了ACIAuthInfo句柄,则会导致错误。 此外,必须在 ACISessionPoolCreate 调用之前设置ACI_ATTR_SPOOL_AUTH属性,在 ACISessionPoolCreate 之后设置它会导致错误。

  • 属性数据类型:

ACIAuthInfo *

ACI_ATTR_SPOOL_MAX_USE_SESSION

  • 模式:

  • 描述:

设置可以从会话池中检出一个会话的最大次数,此之后该会话将被自动销毁。 默认值为0,表示没有限制。

  • 属性数据类型:

ub4

ACI_ATTR_SPOOL_STMTCACHESIZE

  • 模式:

读/写

  • 描述:

将会话池中每个会话的默认语句缓存大小设置为此值。 池中特定会话的语句缓存大小可以随时通过在该会话上使用ACI_ATTR_STMTCACHESIZE来覆盖。

  • 属性数据类型:

ub4 * / ub4

ACI_ATTR_SPOOL_GETMODE

  • 模式:

读/写

  • 描述:

当发现池中的所有会话都繁忙并且会话数已达到最大值或池必须创建新的连接时,此属性确定会话池的行为:

ACI_SPOOL_ATTRVAL_WAIT-线程等待并阻塞15分钟,直到释放会话或创建新会话为止,超时将返回错误信息。 这是默认值。

ACI_SPOOL_ATTRVAL_TIMEDWAIT-继续尝试在内部进行空闲会话,直到ACI_ATTR_SPOOL_WAIT_TIMEOUT设置的超时时间到期为止。

ACI_SPOOL_ATTRVAL_NOWAIT-如果没有空闲连接或池必须创建新连接,则返回错误。

ACI_SPOOL_ATTRVAL_FORCEGET-即使所有会话都忙并且已达到最大会话数,也会创建一个新会话。 ACISessionGet 返回警告。 在这种情况下,如果创建的新会话超过了最大值,则 ACISessionGet 将返回警告。

请注意,如果设置了此值,则可能会达到数据库最大连接数,造成其他应用也无法链接数据库。

  • 属性数据类型:

ub1 * / ub1

ACI_ATTR_SPOOL_WAIT_TIMEOUT

  • 模式:

读/写

  • 描述:

当ACI_ATTR_SPOOL_GETMODE属性设置为ACI_SPOOL_ATTRVAL_TIMEDWAIT时,这是等待空闲会话时 ACISessionGet 调用所用的超时(毫秒)。 这也适用于分片的情况,其中 ACISessionGet 调用等待与可写块的实例的空闲会话。

  • 属性数据类型:

ub4 * / ub4

ACI_ATTR_SPOOL_BUSY_COUNT

  • 模式:

  • 描述:

返回从池中返回繁忙会话数。

  • 属性数据类型:

ub4 *

ACI_ATTR_SPOOL_OPEN_COUNT

  • 模式:

  • 描述:

返回会话池中打开的会话数。

  • 属性数据类型:

ub4 *

ACI_ATTR_SPOOL_MIN

  • 模式:

  • 描述:

返回最小会话数。

  • 属性数据类型:

ub4 *

ACI_ATTR_SPOOL_MAX

  • 模式:

  • 描述:

返回最大会话数。

  • 属性数据类型:

ub4 *

ACI_ATTR_SPOOL_INCR

  • 模式:

  • 描述:

返回会话增量参数。

  • 属性数据类型:

ub4 *

ACI_ATTR_FOCBK

  • 模式:

读/写

  • 描述:

ACIAttrSet 上,定义要与ACI会话池中的每个会话关联的TAF回调和上下文。

ACIAttrGet 上,使用为会话池定义的TAF回调和上下文填充ACIFocbkStruct。

此属性暂时不支持。

  • 属性数据类型:

ACIFocbkStruct *

ACI_ATTR_SPOOL_TIMEOUT

  • 模式:

读/写

  • 描述:

闲置时间超过此时间(以秒为单位)的会话会定期终止,以保持打开会话的最佳数量。 此属性可以动态设置。 如果未设置此属性,则当池中需要空间时,最近最少使用的会话可能会超时。ACI仅在将会话释放回池中时检查超时的会话,请参见ACI_ATTR_SPOOL_MAX_LIFETIME_SESSION。

此属性暂时不支持。

  • 属性数据类型:

ub4 * /ub4

ACI_ATTR_SPOOL_DRAIN_TIMEOUT

  • 模式:

读/写

  • 描述:

ACISessionPoolDestroy 的ACI_SPD_DRAIN模式下销毁会话池之前,设置或读取超时间隔值。 默认值为120秒。

可以使用会话池句柄上的 ACIAttrSet 函数设置此属性。

ACI可以设置该属性,但不生效。

  • 属性数据类型:

ub4 * / ub4

ACI_ATTR_SPOOL_MAX_PER_SHARD

  • 模式:

读/写

  • 描述:

设置每个分片的最大会话数。 设置此属性可确保池与每个分片保持平衡。

如果要在执行 ACISessionPoolCreate 方法时考虑此属性的值,则需要在调用 ACISessionPoolCreate 方法之前设置此属性的值。 如果稍后设置该值,则会话池将重新调整以维持该限制。

ACI可以设置该属性,但不生效。

  • 属性数据类型:

ub4 *

ACI_ATTR_SPOOL_MAX_LIFETIME_SESSION

  • 模式:

读/写

  • 描述:

此属性设置池中所有会话的生存期(以秒为单位)。 当池中的会话达到生存期时,它们将终止。 在还设置ACI_ATTR_SPOOL_TIMEOUT的情况下,如果发生空闲超时或超过最大生存时间设置,则会话将终止。

ACI可以设置该属性,但不生效。

  • 属性数据类型:

ub4 * / ub4