SQL*LOADER
The sql_loader plugin invokes Oracle SQL*Loader to load files into a database table. The SQL*Loader controlfile is generated from the specification in the item parameters:
name. The name of this item.
user_id. The username and password used to authenticate against the database, in the format <user>/<password>@<tns_alias> where @<tns_alias> is optional. If the userid is not supplied, the standard pipeline authentication settings are used.
controlfile. The name of the SQL*Loader controlfile that will be generated.
specification. The SQL*Loader control file specification. If the specification spans multiple lines, the final character of each line must be a backslash. The final field must be file_id constant %file_id%.
table. The name of the table being loaded.
mode. append, truncate, insert or replace. Defaults to append.
is_warning_error. Should a SQL*Loader warning be treated as an error (e.g. when a bad record is detected).
logfile. The name of the SQL*Loader log file.
badfile. The name of the SQL*Loader bad file.
discardfile. The name of the SQL*Loader discard file.
keep_logfile. Whether the log file will be kept after the completion of the item. Defaults to yes (1).
keep_controlfile. Whether the control file will be kept after the completion of the item. Defaults to no (0).
keep_badfile. Whether the bad file will be kept after the completion of the item. Defaults to yes (1).
keep_discardfile. Whether the discard file will be kept after the completion of the item. Defaults to yes (1).
localize. A boolean setting that instructs the loader to localize the end-of-line markers for the current file system. Defaults to 0.
parameters. A section containing SQL*Loader options.
on_error. Override the setting for the job..
Example
<item>
name = load scores
type = sql_loader
controlfile = %app_root%/log/%basename(filename)%.ctl # default = %filename%.ctl
table = scores
mode = truncate
is_warning_error = 1
# Specification: use slash at the end-of-line to signal
# continuity. You must always include "file_id constant %file_id%"
specification = fields terminated by "," \
(id, name, score, file_id constant %file_id%)
# These are optional. If the filename never changes (i.e. it
# has the same name with every load, you may wish to include $$
# in the name to include the OS process id in the name. This
# id will not be unique as process ids are reused.
logfile = %app_root%/log/%basename(filename)%.log
badfile = %app_root%/log/%basename(filename)%.bad
discardfile = %app_root%/log/%basename(filename)%.disc
keep_controlfile = 1 # Default no, probably keep during initial dev
keep_logfile = 1 # Optional. Default yes
keep_badfile = 1 # Optional. Default yes
localize = 0
# Optional SQL*Loader keywords
<parameters>
skip = 1
direct = true
</parameters>
</item>