| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Loading long columns from tsv-files?
Hi again!
I found the solution myself on Oracle MetaLink in a document titled "SQL*Loader - Questions and Answers":
Q. I am attempting to load into a varchar2 column with data > 255
characters and SQL*Loader is rejecting these records with
"Field in data file exceeded maximum specified length".
A. By default SQL*Loader has a 64K buffer which it uses to hold
up to 64 rows for inserting into the database. In order to
decide how many rows will fit into this buffer, SQL*Loader
reads the field information in the control file to determine
the maximum space needed for each field's data. Where the
length is not given explicitly or implied by the data type,
SQL*Loader must make some assumptions. In the case of
character strings it will assume that the data can be up to
255 bytes (assuming too large a number would simply waste
space in many cases). Thus, if you have character data > 255
you must tell SQL*Loader the maximum length the data can be,
eg "col1 char(300)". Note, specifying lengths for small
character fields can often improve efficiency in that if
SQL*Loader does not have to reserve 255 bytes for each such
field it may be able to fit more records into its buffer and
so have to commit less frequently during the load.
See Note:1015758.6 for more information.
Bye for now
Göran
![]() |
![]() |