You're right. I have been working with shell scripts, using sqlplus, too long.
What I need to do is to continue (rather than die) the script, attempting to connect 
with another userid/passwd, when a connection fails and I get "Segmentation Fault" 
after the first successful login. Now, I have a suspicion that there is a time 
conflict between disconnect and the next connect. Maybe I should make the script wait 
a little after each disconnect. Any suggestions/comments?

Thanks a lot for the pointer,

-Mahtaj

> -----Original Message-----
> From: Jared Still [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, February 07, 2002 11:07 AM
> To: Khamneian, Mahtaj; [EMAIL PROTECTED]
> Subject: Re: Perl DBI->connect
> 
> 
> 
> Are you sure you're using DBI?
> 
> If the password is incorrect, the connection should fail.
> 
> The behavior you describe is typical of Sqlplus.
> 
> Assuming that you have a scott/tiger account, the following script
> should simply fail and report an error: ( change the value of 
> $db first )
> 
> #!/usr/bin/perl
> 
> use warnings;
> use DBI;
> use strict;
> 
> my ($db, $username, $password) = qw{ts01 scott notiger};
> 
> my $dbh = DBI->connect(
>    'dbi:Oracle:' . $db,
>    $username, $password,
>    { RaiseError => 1, AutoCommit => 0, ora_session_mode => 0 }
> );
> 
> die "Connect to  $db failed \n" unless $dbh;
> my $MySql="select \* from dual";
> my $sth = $dbh->prepare($MySql);
> $sth->execute;
> 
> my $href = $sth->fetchrow_hashref;
> print "DUMMY: $href->{DUMMY}\n";
> 
> $sth->finish;
> $dbh->disconnect;
> 
> Jared
> 
> 
> 
> On Thursday 07 February 2002 08:06, Khamneian, Mahtaj wrote:
> > I have written a perl DBI script to check passwords of some 
> 1500 users on
> > an oracle database. I have set up a loop to go through a 
> list containing
> > userid:password of each user on a separate line. I use 
> DBI->connect to
> > connect to the instance using the userid/password from the list. If
> > connection is successful, I record the info in a file and 
> disconnect from
> > the db and check the next userid/passwd with another 
> connect. The problem
> > is when the wrong password is supplied, oracle prompts for 
> correct userid.
> > What oracle state is this(I cannot disconnect because I'm 
> not connected)?
> > And how can I handle it in perl? Is there a more efficient 
> way to do this
> > in perl than what I have explained above?
> >
> > Thanks,
> >
> > -------------------------------------
> > Mahtaj Khamneian
> > University of Missouri - ASP       Phone : (573) 884-2281
> > 1805 East Walnut                          Fax     : (573) 884-3070
> > Columbia, MO 65201-6425          [EMAIL PROTECTED]
> 

Reply via email to