ETLp::Loader::OracleSQLLoader - Load data using SQL*Loader
This module will load data using Oracle's SQL*Loader utility. It is designed to be used when:
* The backend database is Oracle * The functionality is not provided by ETLp::Loader::CSV * Speed is of the essence, and features such as direct path or parallel loading are required.
For Example
use ETLp::Loader::OracleSQLLoader; my $sqlldr = ETLp::Loader::OracleSQLLoader->new( userid => 'scott/tiger', table => 'scores', filename => "$data_directory/$filename", specification => $specification, mode => 'truncate', controlfile => "$outfile_directory/$filename.ctl", logfile => "$outfile_directory/$filename.log", discardfile => "$outfile_directory/$filename.dsc", badfile => "$outfile_directory/$filename.bad", ); my $recode = $sqlldr->load; if ($retcode) { print $sqlldr->error; }
Creates a new ETLp::Loader::OracleSQLLoader object. Accespts the following attributes:
* userid. Required. The username and password of the user connecting to the database, in the form: o <user>/<password> or o <user>/<password>@<tns alias> * controlfile. Required. The name of the control file. The content will be generated by this module. * table. Required. The name of the table that the data will be loaded into * filename. Required. The file to be loaded. * mode. Optional. The type of load - append, truncate, insert or replace. Defaults to append * specification. Required. The specification of the incoming file and the processing. E.g. fields terminated by "," (id, name, score, file_id constant 4) * logfile. Optional. The name of the log file * badfile. Optional. The name of the bad file. * discardfile . Optional. The name of the discardfile. * keep_controlfile. Optional. Whether to keep the control file following processing. Defaults to no (0). * keep_logfile. Optional. Whether to keep the log file following processing. Defaults to yes (1). * keep_badfile. Optional. Whether to keep the bad file following processing. Defaults to yes (1). * keep_discardfile. Optional. Whether to keep the discard file following processing. Defaults to yes (1). * localize. Optional. Whether to localize (fix for current OS), the data file's end-of-line delimiters. Defaults to no (0). * parameters. Optional. A hashref of SQL*Loader command-line parameters (excluding control, log, bad and discard)
Invoke the SQL*Loader run. Will return a code, that is an integer between 0 and 3:
* 0 - successful * 1 - failed * 2 - warn * 3 - fatal
Examples
* All rows loader successfully - 0 * All/some rows discarded - 2 * All/some row rejected - 2 * Discontinued load - 2 * Command line/syntax errors - 1 * Errors Fatal to Sql*Loader - 1 * OS related errors - 3
Return the constructed SQL*Loader command - the sqlldr invocation and the user authentication information if not included
Return the content of the controlfile
Return any error generated following the SQL*Loader run
Return the output from a SQL*Loader run
Copyright 2010 Redbone Systems Ltd
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
The terms are in the LICENSE file that accompanies this application
To install ETLp, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ETLp
CPAN shell
perl -MCPAN -e shell install ETLp
For more information on module installation, please visit the detailed CPAN module installation guide.