The data is a varying-length, double-byte character set (DBCS). It consists of a length subfield followed by a string of double-byte characters. The Oracle database does not support double-byte character sets; however, SQL*Loader reads them as single bytes and loads them as RAW
data. Like RAW
data, VARGRAPHIC
fields are stored without modification in whichever column you specify.
The size of the length subfield is the size of the SQL*Loader SMALLINT
data type on your system (C type SHORT INT
). See "SMALLINT" for more information.
VARGRAPHIC
data can be loaded with correct results only between systems where a SHORT INT
has the same length in bytes. If the byte order is different between the systems, then use the appropriate technique to indicate the byte order of the length subfield. See "Byte Ordering".
The syntax for the VARGRAPHIC
data type is:
The length of the current field is given in the first 2 bytes. A maximum length specified for the VARGRAPHIC
data type does not include the size of the length subfield. The maximum length specifies the number of graphic (double-byte) characters. It is multiplied by 2 to determine the maximum length of the field in bytes.
The default maximum field length is 2 KB graphic characters, or 4 KB (2 * 2KB). To minimize memory requirements, specify a maximum length for such fields whenever possible.
If a position specification is specified (using pos_spec
) before the VARGRAPHIC
statement, then it provides the location of the length subfield, not of the first graphic character. If you specify pos_spec
(start:end),
then the end location determines a maximum length for the field. Both start
and end
identify single-character (byte) positions in the file. Start
is subtracted from (end + 1)
to give the length of the field in bytes. If a maximum length is specified, then it overrides any maximum length calculated from the position specification.
If a VARGRAPHIC
field is truncated by the end of the logical record before its full length is read, then a warning is issued. Because the length of a VARGRAPHIC
field is embedded in every occurrence of the input data for that field, it is assumed to be accurate.
VARGRAPHIC
data cannot be delimited.