Forum Stats

  • 3,760,419 Users
  • 2,251,703 Discussions
  • 7,871,112 Comments

Discussions

A bug of ODBC 19

frankho21
frankho21 Member Posts: 7 Blue Ribbon
edited Jun 9, 2021 8:01AM in Oracle Call Interface (OCI)

Hello,

I bound a 53-byte string (17 multibyte characters, occupies 17*3=51 bytes, and 2 single-byte characters) when inserting into a 120-byte VARCHAR column, but an error was reported: ORA-12899: value too large for column "USER"."TABLE"."COLUMN" (actual: 155, maximum: 120), I think this should be a calculation error, because 155=(17*3*3)+2, ie, do an extra multiplication by 3 operation for multi-byte characters.

In addition, when I bound a multi-byte string to a CLOB column, it reported an error: ORA-24811: While writing into a LOB, less data was provided than indicated, I think this is probably caused by similar calculation errors in the length of multi-byte characters.

My environment is: RHEL 7 + Oracle 19


To add: if I use ODBC 12, there is no such problem.