VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

会话池接口

OCISessionPoolCreate

功能描述

初始化用于OCI会话池。

功能说明

初始化用于OCI会话池。

接口信息

函数/过程

OCISessionPoolCreate 语法如下:

sword OCISessionPoolCreate ( OCIEnv           *envhp,
                             OCIError         *errhp, 
                             OCISPool         *spoolhp,
                             OraText         **poolName,
                             ub4              *poolNameLen,
                             const OraText    *connStr,
                             ub4               connStrLen,
                             ub4               sessMin, 
                             ub4               sessMax, 
                             ub4               sessIncr,
                             OraText          *userid,
                             ub4               useridLen,
                             OraText          *password,
                             ub4               passwordLen,
                             ub4               mode );

具体参数解释如下:

  • envhp(IN):指向要创建会话池的环境的指针

  • errhp(IN/OUT):当发生错误时,可以传递给 OCIErrorGet ()用于诊断信息的错误句柄。

  • spoolhp(IN):指向已初始化的会话池句柄的指针。

  • poolName(OUT):会话池的名称。

  • poolNameLen(OUT):会话池的名称的长度。

  • connStr(IN):要连接到的数据库的TNS别名。

  • connStrLen(IN):connStr的长度(字节)。

  • sessMin(IN):指定会话池中的最小会话数。

    此数量的会话由OCISessionPoolCreate()启动。会话启动后,仅在必要时打开会话。

    当模式设置为OCI_PC_HOMGENOUS时,使用此值。否则,它将被忽略。

  • sessMax(IN):指定会话池中可以打开的最大会话数。达到此值后,将不再打开会话。有效值为1或更高。

  • sessIncr(IN):如果当前会话数小于sessMax,则允许应用程序为要启动的会话设置下一个增量。有效值为0或更高。

  • userid(IN):指定用于启动会话的用户ID。

  • useridLen(IN):userid的长度(字节)。

  • password(IN):对应用户ID的密码。

  • passwordLen(IN):密码的长度(以字节为单位)。

  • mode(IN):支持的模式有:

    • OCI_DEFAULT:用于创建新的会话池。
    • OCI_PC_REINITIALIZE:创建会话池后,如果要动态更改池属性(更改sessMin、sessMax和sessIncr参数),请调用OCISessionPoolCreate(),模式设置为OCI_PC_REINITIALIZE。当模式设置为OCI_PC_REINITIALIZE时,将忽略connStr、userid和password。
    • OCI_PC_STMTACHE:为会话池创建OCI语句缓存。如果未在打开OCI语句缓存的情况下创建池,则会自动使用服务器端语句缓存。注意,通常情况下,客户端语句缓存提供了更好的性能。

    目前OCISessionPoolCreate函数只支持OCI_DEFAULT模式。

其他说明

OCISessionPoolDestroy

功能描述

销毁会话池。

功能说明

销毁会话池。

数据相关性

接口信息

函数/过程

OCISessionPoolDestroy 语法如下:

sword OCISessionPoolDestroy ( OCISPool     *spoolhp,
                                 OCIError     *errhp, 
                                 ub4           mode );

参数的解释如下:

  • spoolhp(IN):要销毁的会话池的会话池句柄。
  • errhp(IN/OUT):当发生错误时,可以传递给 OCIErrorGet ()用于诊断信息的错误句柄。
  • mode(IN):当前,此功能仅支持OCI_DEFAULT模式。

其他说明

OCISessionRelease

功能描述

释放使用OCISessionGet()产生的会话。

功能说明

释放使用OCISessionGet()产生的会话。

数据相关性

接口信息

函数/过程

OCISessionRelease 语法如下:

sword OCISessionRelease ( OCISvcCtx       *svchp,
                          OCIError        *errhp,
                          OraText         *tag,
                          ub4              tag_len,
                          ub4              mode );

参数的解释如下:

  • svchp(IN):在相应的OCISessionGet()调用期间填充的服务上下文。
  • errhp(IN/OUT):当发生错误时,可以传递给 OCIErrorGet ()用于诊断信息的错误句柄。
  • tag(IN):此参数仅用于会话池。除非指定了OCI_SELSSRLS_RETAG模式,否则将忽略此参数。在这种情况下,会话被标记为此标记并返回到池。如果该值为NULL,则会话不会被标记。
  • tag_len(IN):此参数仅用于会话池。标记的长度。除非设置了OCI_SELSSRLS_RETAG模式,否则将忽略此选项。
  • mode(IN):支持的模式有:

    • OCI_DEFAULT:对于默认情况和连接池,只能使用OCI_DEFAULT。
    • OCI_SESSRLS_DROPSESS:如果指定了OCI_SSLS_DROPESS,则会话将从会话池中删除。
    • OCI_SESSRLS_MULTIPROPERTY_TAG
    • OCI_SESSRLS_RETAG:当且仅当设置了OCI_SELLS_RETAG时,会话上的标记才会更改。如果未设置此模式,将忽略标记和tag_len参数。

    以上模式中:

    • OCI_SELSLS_DROPESS和OCI_SELLS_RETAG仅用于会话池。

    • 如果标记是多属性标记,则设置OCI_SELSSS_MULTIPROPERTY_TAG。有关详细信息,请参见多属性标记。

    • 目前只支持OCI_DEFAULT模式,此模式下tag为NULL,tagLen为0。

其他说明