7.5. ODPI-C Structure dpiCommonCreateParams

This structure is used for creating session pools and standalone connections to the database. All members are initialized to default values using the dpiContext_initCommonCreateParams() function.

dpiCreateMode dpiCommonCreateParams.createMode

Specifies the mode used for creating connections. It is expected to be one or more of the values from the enumeration dpiCreateMode, OR’ed together. The default value is DPI_MODE_CREATE_DEFAULT.

Note that when this structure is used during creation of a pool, the mode DPI_MODE_CREATE_THREADED is automatically enabled regardless of what value is set in this member.

const char *dpiCommonCreateParams.encoding

Specifies the encoding to use for CHAR data, as a null-terminated ASCII string. Either an IANA or Oracle specific character set name is expected. NULL is also acceptable which implies the use of the NLS_LANG environment variable (or ASCII, if the NLS_LANG environment variable is not set). The default value is the value of the member dpiContextCreateParams.defaultEncoding specified when the call to dpiContext_createWithParams() was made.

const char *dpiCommonCreateParams.nencoding

Specifies the encoding to use for NCHAR data, as a null-terminated ASCII string. Either an IANA or Oracle specific character set name is expected. NULL is also acceptable which implies the use of the NLS_NCHAR environment variable (or the same value as the dpiCommonCreateParams.encoding member if the NLS_NCHAR environment variable is not set). The default value is the value of the member dpiContextCreateParams.defaultEncoding specified when the call to dpiContext_createWithParams() was made.

const char *dpiCommonCreateParams.edition

Specifies the edition to be used when creating a standalone connection. It is expected to be NULL (meaning that no edition is set) or a byte string in the encoding specified by the dpiCommonCreateParams.encoding member. The default value is NULL.

uint32_t dpiCommonCreateParams.editionLength

Specifies the length of the dpiCommonCreateParams.edition member, in bytes. The default value is 0.

const char *dpiCommonCreateParams.driverName

Specifies the name of the driver that is being used. It is expected to be NULL or a byte string in the encoding specified by the dpiCommonCreateParams.encoding member. The default value is the value of the member dpiContextCreateParams.defaultDriverName specified when the call to dpiContext_createWithParams() was made.

uint32_t dpiCommonCreateParams.driverNameLength

Specifies the length of the dpiCommonCreateParams.driverName member, in bytes. The default value is the length of the member dpiContextCreateParams.defaultDriverName specified when the call to dpiContext_createWithParams() was made.

int dpiCommonCreateParams.sodaMetadataCache

Specifies whether to enable the SODA metadata cache or not, which can significantly improve the performance of repeated calls to methods dpiSodaDb_createCollection() (when not specifying a value for the metadata parameter) and dpiSodaDb_openCollection(). This requires Oracle Client 21.3 or higher (also available in Oracle Client 19 from 19.11).

uint32_t dpiCommonCreateParams.stmtCacheSize

Specifies the number of statements to retain in the statement cache. Use a value of 0 to disable the statement cache completely.

dpiAccessToken *dpiCommonCreateParams.accessToken

Specifies a pointer to a dpiAccessToken structure. Each member of structure is populated with authentication parameters used for token based authentication. This requires Oracle Client 19.4 (or later), or 21.5 (or later).