ORA-12899,而实际值长度小于最大值 [英] ORA-12899, while actual value length is smaller than maximum
问题描述
我已经使用SQL * Loader加载了一些数据,并获得了以下奇怪的错误消息:
I've loaded some data using SQL*Loader and obtained following strange error messages:
ORA-12899:列AELS_AENDBESCHR的值太大(实际:69,最大值:70)
ORA-12899: value too large for column AELS_AENDBESCHR (actual: 69, maximum: 70)
ORA-12899:列AELS_AENDBESCHR的值太大(实际:70,最大值: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字节字符集的数据放入采用UTF-8编码的数据库中,其中德国符号äöü"占用2字节而不是一个字节.我使用此 Wikibooks 更改了字符集,现在可以使用了.唯一的问题是我不能再使用APEX.
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.
这篇关于ORA-12899,而实际值长度小于最大值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!