Thanks Roboticus, you got the nerve "It also contains commands that sqlplus uses to format the output."
I tried many ways, two popular one are using
DBI and DBIx::MultiStatementDo but still no results.
Example using DBI
$dbh=DBI->connect("dbi:Oracle:$xmlArray[$flagArray[$outerCounter]][0]"
+,"$xmlArray[$flagArray[$outerCounter]][1]","$xmlArray[$flagArray[$out
+erCounter]][2]",{AutoCommit=>0}) or die "Can't log in: $!"
open FILE, "<defaultOutput.sql";
my $file_contents = do { local $/; <FILE> };
printf "\nFinal sql :: %s \n",$file_contents ;
$sth=$dbh->prepare($file_contents) or die "$DBI::errstr";
$sth->execute or die "Can't execute sth: $DBI::errstr.";
while (($mycolumn)=$sth->fetchrow_array)
{
print "\n$mycolumn\n" if defined $mycolumn;
}
Example using DBIx::MultiStatementDo;
$dbh=DBI->connect("dbi:Oracle:$xmlArray[$flagArray[$outerCounter]][0]"
+,"$xmlArray[$flagArray[$outerCounter]][1]","$xmlArray[$flagArray[$out
+erCounter]][2]",{AutoCommit=>0}) or die "Can't log in: $!"
open FILE, "<defaultOutput.sql";
my $file_contents = do { local $/; <FILE> };
printf "\nFinal sql :: %s \n",$file_contents ;
my $batch = DBIx::MultiStatementDo->new( dbh => $dbh );
my @results = $batch->do( $file_contents ) or die $batch->
+dbh->errstr;
print scalar(@results) . ' statements successfully executed!';
$dbh->disconnect;
Please let me know where I am doing wrong ? What I should be doing ?
|