Page 1 of 1

ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Mon 15 Jul 2019 12:18
by hansjoergp
Hello,

after updating to the newest dotConnect for Oracle, I get the following exception:

Unhandled Exception: Devart.Data.Oracle.OracleException: ORA-12899: value too large for column "RADIX"."ARTICLE_TEST"."ARTID" (actual: 56, maximum: 14)

It seems that the error happens after Devart.Data.Oracle Version="9.6.621". v.9.6.646 is the first version in which I get the error.
It happens allways If you have an out parameter with CHAR, which is used inside the package to write some value to the database

Code: Select all

PACKAGE BODY PACKTESTHP
IS

   FUNCTION test
     ( artid OUT article_test.artid%TYPE)
     RETURN  NUMBER
    IS
   BEGIN 
      artid := getartid;
      INSERT INTO ARTICLE_TEST
         (ARTID)
         VALUES (artid);
      RETURN 1;   
   END;
   
   FUNCTION getartid
     RETURN  CHAR
   IS
     v_tonerartid   CHAR(14) := '00000000000001';
   BEGIN
      return v_tonerartid;
   END;

END;
I have send you with the contact form an example.

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Wed 17 Jul 2019 18:50
by Shalex
Thank you for your report. We will investigate the issue and notify you about the result.

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Mon 12 Aug 2019 06:33
by hansjoergp
Any news?

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Mon 19 Aug 2019 10:16
by Shalex
The investigation is in progress. As soon as we have any results, we will notify you.

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Mon 16 Sep 2019 11:34
by hansjoergp
We've been waiting two months for a solution to this problem. How long will it take?

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Fri 20 Sep 2019 18:13
by Shalex
Your function doesn't work with ODP.NET and Managed ODP.NET as well.

Our investigation is in progress:
* we have just supported your function in the OCI mode (via Oracle Client). Are you interested in the internal build with the fix?
* as soon as we have any result with the Direct mode, we will notify you

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Thu 26 Sep 2019 05:36
by hansjoergp
Can I have the internal Build? Thank you

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Tue 01 Oct 2019 15:41
by Shalex
We have sent the internal build to your email.

Re: ORA-12899: value too large for column (actual: 56, maximum: 14) after calling package function

Posted: Thu 24 Oct 2019 16:54
by Shalex
The bug with executing stored procedure or function with Out/InOut parameter, when its type is CHAR and the parameter precision is determined by the length of a target column, is fixed: viewtopic.php?f=1&t=39475.