Search code examples
oracle-databaseora-12899

ORA-12899, while actual value length is smaller than maximum


I've loaded some data using SQL*Loader and obtained following strange error messages:

ORA-12899: value too large for column AELS_AENDBESCHR (actual: 69, maximum: 70)

ORA-12899: value too large for column AELS_AENDBESCHR (actual: 70, maximum: 70)

Actually the values don't exceed the maximum, so what the hell these messages are doing here then?


Solution

  • Indeed, the problem was in the character set of the database. I tried to put data supposed for 1 byte character set in a database with UTF-8 encoding, where german symbols "äöü" take 2 bytes instead one. I changed the character set using this wikibooks and now it works. The only problem is that I can't use APEX after it.