My Oracle Support Banner

RDBPROD: ORA-01438 Error When Inserting a Floating Point Number into Rdb via OCI (Doc ID 735195.1)

Last updated on FEBRUARY 13, 2020

Applies to:

Oracle SQL/Services for Rdb on OpenVMS - Version 7.2 and later
HP OpenVMS Itanium
HP OpenVMS Alpha


When attempting to insert a floating point value via OCI calls into an Rdb database, the following error may be reported:

ORA-01438: value larger than specified precision allowed for this column

For example, the used code snippets might be:

    double pi = 3.14159265;                          the passed value

        insert into table(col)   values(:d)             the insert

   OCIBind *bindp_ = NULL;                       bind the parameter
   sb2 indOCIHolder_ = 0;
   res = OCIBindByPos(stmtp_, &bindp_,errhp_, 1, &pi, sizeof(pi),SQLT_FLT,
            &indOCIHolder_, 0, 0, 0, 0, OCI_DEFAULT);


NLS on the client is set to a value which defines "decimal point is , {comma} "


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.