here is the complete code :### Our DBI parameters are: $dsn="dbi:Sybase:server=$DB_SERVER"; ### Connect DB $dbh = DBI->connect ($dsn, $DB_USER, $DB_PWD) ;
sub process_database { for ($i=0;$i<$#databases+1;$i++) { $database = $databases[$i] ; ### Use DB $dbh->do("USE $database") || log_message ("SERI","Database error $ +dbh->errstr") ; get_db_name(); ## output here is okay ### Get details from sysobjects $sql = ""; $sql = "SELECT 1 " ; $sth = $dbh->prepare($sql); $sth->execute(); get_db_name(); ## output here is master $objcount =0; while (@row = $sth->fetchrow_array) { ## might give an error as th +ere wasn't any execute statement before this ($object = $row[0]) =~ s/\s//g ; $sql = ""; $sql = "GRANT ALL ON $object TO PUBLIC" ; # $dbh->do($sql) || log_message ("SERI","Database error $dbh->er +rstr"); $objcount ++; } ## end of while get_db_name(); ## output here is okay log_message("INFO","$objcount objects affected in $database"); } ## end of for } ## end of subroutine ############################ GET DB NAME() ########################### +######### sub get_db_name { $sql_dbname = "select db_name() "; $sth = $dbh->prepare($sql_dbname); $sth->execute() || die "ERROR : Database error $sth->errstr\n" ; while (@row = $sth->fetchrow_array) { $_ = $row[0]; s/\s//g; print "IN DATABASE $_ \n"; } ## end of while }
In reply to DBI Not working Part 2
by HitMan
in thread DBI Not working
by HitMan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |