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?

Reply via email to