ACIConnectionPoolCreate()

ACIConnectionPoolCreate()

作用:

初始化连接池

语法:

sword ACISessionPoolCreate ( ACIEnv           *envhp,
                             ACIError         *errhp,
                             ACISPool         *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)

ACI的环境句柄,用于创建连接池。

  • errhp (IN/OUT)

错误句柄,该接口调用失败时,错误信息会存在该句柄上,调用 ACIErrorGet 获得错误信息。

  • poolhp (IN)

一个使用 ACIHandleAlloc 申请过的ACI_HTYPE_CPOOL句柄。

  • poolName (OUT)

连接池名字,供其他使用连接池的接口使用。

  • poolNameLen (OUT)

连接池名字的长度。

  • dblink (IN)

数据库连接字符串。

  • dblinkLen (IN)

连接字符串dblink参数的字节长度。.

  • connMin (IN)

连接池中最小连接数,必须大于等于0。创建连接池时,会创建该参数指定的连接数,创建之后,池中的连接只在必要的时候才维持。所以,该参数一般设置为应用程序准备同时运行的stmt个数。

  • connMax (IN)

连接池中最大连接数,必须大于等于1。当连接数达到这个值后,将不再创建新的连接,获得连接的调用会失败。

  • connIncr (IN)

连接每次增长的个数,大于等于0。参数本身没有规定最大值,但是当connIncr+connMin 大于connMax时,会报错。

  • poolUsername (IN)

连接池内部需要的私有Session的用户名。

  • poolUserLen (IN)

poolUsername的参数字节长度。

  • poolPassword (IN)

连接池内部需要的私有Session的密码。

  • poolPassLen (IN)

poolPassword的参数的字节长度

  • mode (IN)

创建模式,支持ACI_DEFAULT和ACI_CPOOL_REINITIALIZE两种:

  • ACI_DEFAULT

默认使用该模式,用于创建连接池。

  • ACI_CPOOL_REINITIALIZE

该模式允许用户动态设置连接池属性(比如:connMin, connMax, connIncr ),如果使用该模式,则忽略其它参数。

说明:

OUT参数poolName和poolNameLen包含要在后续 ACIServerAttachACILogon2 调用中使用的值,以代替数据库名称和数据库名称长度参数。