Two ideas:
1. I'm not sure why can't you just access everything via DBI?
my $dbh = DBI->connect($connect_string, $user, $password);
$dbh->do("drop user jim cascade");
$dbh->commit();
$dbh->do("create user jim...");
2. If you really need to use system calls to SQL/PLUS why don't
you write the calls into a file and then execute the entire file
with one system command.
open(OUT, '>', 'commands.txt');
print OUT "drop user jim cascade;\n",
"commit;\n",
"create user jim...";
close(OUT);
system("sqlplus scott/tiger commands.txt");
# or if you want to retain output:
my $val = `sqlplus scott/tiger commands.txt`;
print $val;
For all the sql/plus command-line options you'll need to check
the Oracle documentation.
Paul
> -----Original Message-----
> From: John [mailto:[EMAIL PROTECTED]
> Sent: Friday, December 26, 2003 3:38 PM
> To: dbi-users
> Subject: Re: Automatng import
>
>
> Quoting Kevin Moore <[EMAIL PROTECTED]>:
>
> > Try "drop user jim cascade"
> >
> > John wrote:
> >
> > >Hi all
> > >
> > >I am planning to make a cronjob so i would like to know if tht can be
> > achived through a perl script.
> > >
> > >To be more specific, i have an Oracle RDBMS and i want to execute some
> > commands in the shell
> > >
> > >.....
> > >system("sqlplus system/password");
> > >system("drop jim cascade");
> > >........
> > >
> > >
> > >can be the above done? To execute internal commands as the
> sqlplus programs
> > provides?
> > >
> > >
> >
> >
>
> I am afraid that this trick isn't going to work as far as system() will be
> waiting until the sqlplus command ends.
>
> What do you say?