in reply to Re: Multiple sql statements in one sql file
in thread Multiple sql statements in one sql file
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 ?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Multiple sql statements in one sql file
by roboticus (Chancellor) on Nov 29, 2011 at 10:44 UTC | |
by leo_jeo (Initiate) on Nov 30, 2011 at 16:26 UTC | |
by leo_jeo (Initiate) on Dec 06, 2011 at 04:48 UTC |