Thank you so much for your input! That worked. I was missing the environment variables. Below is the code that worked.
#!/usr/local/bin/perl
use strict;
use warnings;
use diagnostics;
use Oracle::SQLLoader qw/$CHAR $INT $DECIMAL $DATE/;
# Oracle Path
$ENV{'ORACLE_HOME'} = "C:/oracle/ora92";
$ENV{'ORACLE_USER'} = "xxxx";
$ENV{'ORACLE_PASS'} = "xxxx";
$ENV{'ORACLE_SID'} = "xxxxx";
my $user = $ENV{'ORACLE_USER'};
my $pass = $ENV{'ORACLE_PASS'};
my $sid = $ENV{'ORACLE_SID'};
### load a simple comma-delimited file to a single table
my $ldr = new Oracle::SQLLoader(
infile => 'C:\Sales_Report_Thru_12_March_2009.csv',
terminated_by => ',',
username => $user,
password => $pass,
sid => $sid
);
$ldr->addTable(table_name => 'fs_bbbs_collections',
when_clauses => "WHEN (01) <> 'Location_ID'
and (01) <> 'Type_Description'
and (01) <> 'Type_ID'
and (01) <> 'DetailType'
and (01) <> 'ItemCount'
and (01) <> 'Amount'");
$ldr->addColumn(column_name => 'Location_ID');
$ldr->addColumn(column_name => 'Type_Description');
$ldr->addColumn(column_name => 'Type_ID');
$ldr->addColumn(column_name => 'DetailType');
$ldr->addColumn(column_name => 'ItemCount');
$ldr->addColumn(column_name => 'Amount');
$ldr->executeLoader();
# stats
my $skipped = $ldr->getNumberSkipped();
my $read = $ldr->getNumberRead();
my $rejects = $ldr->getNumberRejected();
my $discards = $ldr->getNumberDiscarded();
my $loads = $ldr->getNumberLoaded();
my $beginTS = $ldr->getLoadBegin();
my $endTS = $ldr->getLoadEnd();
my $runtimeSecs = $ldr->getElapsedSeconds();
my $secsOnCpu = $ldr->getCpuSeconds();
|