my $dbh; sub connectdb {# connect to database using 3 parameters; return database handle my ($dbstring, $dbdepot, $password) = @_; print "attempt to connect to database $dbstring :$dbdepot\n"; system "time /T"; my $dbhi = DBI->connect($dbstring,$dbdepot,$password, { AutoCommit => 0, RaiseError => 1, PrintError => 1 }) or warn "can't connect to database $dbstring :$dbdepot :", $DBI::errstr, "\n"; if (defined ($dbhi)) { print "success: $dbhi \n"; return $dbhi; } else { print "Failure\n"; return -1; } } while (($dbh = connectdb($dwqa1,$depot,$pswd) eq -1) && ($sleepcount < $sleeplimit)) { sleep ($sleepdur); ++$sleepcount; } my $sth = $dbh->prepare("select '$depot', t.table_name, column_name from user_tables t, user_tab_columns c where c.table_name = t.table_name"); $sth->execute();