www.farid-hajji.net banner

Farid Hajji

Perl: Einführung, Anwendungen, Referenz (2/e) [Support-Site]

Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2

Beispielprogramm

db-listtbl.pl
#!/usr/local/bin/perl -w
# db-listtbl.pl -- Zeigt eine Liste von Tabellen
#            einer MySQL-Datenbank an.

use DBI;
use constant DBHOST => 'localhost';

sub open_dbase {
    # Oeffnet eine Datenbank auf einem angegebenen Host.
    # Liefert ein Datenbankhandle $dbh zurueck.
    # Beispiel: $dbh = open_dbase( dbname => $dbname );
    #     $dbh = open_dbase( dbname => $dbname, pw => $passwd );
    # ACHTUNG:  Vergessen Sie nicht, $dbh nach Gebrauch auch explizit
    #     mit $dbh->disconnect() freizugeben!
    my %p = (
             dbname => 'test',
             user   => $ENV{'LOGNAME'},
             pw     => '',
             host   => DBHOST,
             driver => 'mysql',
             @_ );

    my $dsn = "DBI:$p{'driver'}:database=$p{'dbname'}";
    my $dbh = DBI->connect($dsn, $p{'user'}, $p{'pw'});
    print STDERR "Error connecting to $p{'dbname'}: $DBI::errstr\n"
        unless $dbh;

    return $dbh;
}

sub list_tables {
    # Liefert eine Liste von Tabellen zurueck,
    # die zu einem geoeffneten Datenbankhandle $dbh gehoeren.
    # Verwendung: @tables = list_tables($dbh);
    my $dbh    = shift;
    my @tables = $dbh->func('_ListTables');

    return @tables;
}

$dbh = open_dbase( dbname => 'mydbase',
                   user   => 'manager',
           pw => 'mgrpass' )
    or die "can't open connection to database: $!\n";

print "Tables:\n";
print map { "\t" . "$_\n" } list_tables($dbh);
$dbh->disconnect();
   

[Prev] [Up] [Relevant Chapter] [Next]

[Alte Quelle]


Last modified: $Date: 2006/05/18 12:55:55 $
FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy
FreeBSD Logo