sqlldr load UTF8 error

The default length semantics for all datafiles (except UFT-16) is byte. So in your case you have a CHAR of 3500 bytes rather than characters. You have some multi-byte characters in your file and the 2624 characters is therefore using more than 3500 bytes, hence the (misleading) message.

You can sort this out by using character length semantics instead

alter this line in your control file

characterset UTF8

to this

characterset UTF8 length semantics char

and it will work on characters for CHAR fields (and some others) - in the same way that you have set up your table, so 3500 characters of up to four bytes each.

原文地址:https://www.cnblogs.com/kakaisgood/p/8335777.html