ORA-12899, while actual value length is smaller th

2019-06-04 18:15发布

问题:

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?

回答1:

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.