I think you should turn on errors... by debault DBI will supress them.

After the DB connection, put this...
$db->{RaiseError} = 1;

Once you do this you will see that your prepare failed, your SQL syntax is
not valid.

> select * from ban where row num < 100

It should be "rownum", not "row num".

Rob

-----Original Message-----
From: jason corbett [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 08, 2004 3:53 PM
To: [EMAIL PROTECTED]
Subject: Query Oracle, show results (need help!!)


Hello all. I am trying to log into an Oracle database, send this query {
select * from ban where row num < 100} and I am getting erros like:
 
can't call method 'execute' on an undefined value at (filename) line_number.
Got any suggestions?
 
 
using the following perl script:
 
#!/usr/bin/perl -w
use strict; 
use DBI; 
#  $ENV{"ORACLE_HOME"}="/orav101/oracle/8.0.6"; 

#Gather data for connecting to database:
 
 
print "Enter the database name that you want to connect to: ";
chomp (my $database_name1=<STDIN>);
print "Enter the username: ";
chomp (my $username=<STDIN>);
print "Enter the password: ";
chomp (my $passwd=<STDIN>);

#Must define the database here:
my $database="dbi:Oracle:$database_name1";

#Connecting to the database:database=<database_name1','$username','$passwd'

#Note the variables for username and password must be username and passwd
ONLY!!
my $dbh = DBI->connect($database, $username, $passwd) 
  or die "Can't connect to Oracle database: \n $DBI::errstr\n"; 

#Set up your sql statement that you want to run in Oracle
my $sql=qq(select * from ban where row num < 100);
 
Prepare the SQL statement for running and it'll be stored in Oracle buffer
my $sth=$dbh->prepare($sql);
 
#Execute the SQL statememt
$sth->execute || die "Couldn't execute statement";

while (my @record= $sth->fetchrow_array)
{
 for  (@record){
  print ("@record");
}
print "\n\n";
}

$dbh->disconnect;
 
 
 

                
---------------------------------
Do you Yahoo!?
Friends.  Fun. Try the all-new Yahoo! Messenger

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to