#!/usr/bin/perl # ModPerl Script using Apache::DBI use strict; use CGI qw(:standard); # Disable Modeperl with DBI, use normal DBI use DBI; # Enable Modeperl with DBI # $Apache::DBI::DEBUG = 2; # Disable Perl Buffering $| = 1; # Compile with warnings on local $^W=1; # Print HTML header and Headline print header(), start_html("ModPerl Script using Apache::DBI"); # Setup Connection to Oracle8i BEGIN { $ENV{ORACLE_HOME} = q(/opt/oracle/product/8.1.7); $ENV{TNS_ADMIN} = q(/home/oracle/config/8.1.7); $ENV{NLS_LANG} = q(AMERICAN_AMERICA.WE8ISO8859P1); } my $user = 'scott'; my $password = 'tiger'; my $data_source = 'dbi:Oracle:RAB1'; my $empno = 7700; my $ename; my $dbh = DBI->connect($data_source, $user, $password) || die "Can't connect to $data_source: $DBI::errstr"; # Prepare Statement Handle my $sth = $dbh->prepare(q{ SELECT empno, ename FROM emp WHERE empno >= ? }) || die "Can't prepare statement: $DBI::errstr"; # Execute and Fetch Statement my $rc = $sth->execute($empno) || die "Can't execute statement: $DBI::errstr"; print ("
\n");
print ("Query will return $sth->{NUM_OF_FIELDS} fields.\n");
print ("Field names: @{$sth->{NAME}}\n\n");
while (($empno, $ename) = $sth->fetchrow_array) {
print ("$empno: $ename\n");
}
print ("\n");
# Do not disconnect
print end_html();