PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DBI



rübezahl
12-05-2001, 17:11
Hallo!

Kann mir Jemand sagen was in dem unteren Perlskript falsch ist. Es
ist ein Beispielskript aus dem Buch "MySQL" von Paul Dubois. Ich habe
es abgeschrieben und ausprobiert. bekomme aber nur die Fehlermeldung:

syntax error at db-test.txt line 11, near "my "
Global symbol "$dbh" requires explicit package name at db-test.txt line 11.
Global symbol "$sth" requires explicit package name at db-test.txt line 11.
Global symbol "$dbh" requires explicit package name at db-test.txt line 15.
Global symbol "$sth" requires explicit package name at db-test.txt line 18.
Global symbol "$dbh" requires explicit package name at db-test.txt line 18.
Global symbol "$sth" requires explicit package name at db-test.txt line 19.
Global symbol "$sth" requires explicit package name at db-test.txt line 22.
Global symbol "$sth" requires explicit package name at db-test.txt line 26.
Global symbol "$dbh" requires explicit package name at db-test.txt line 28.
Execution of db-test.txt aborted due to compilation errors.

Ich habe auch schon versucht mir die Beispieldatenbank "samp_db" von http://www.mysql.com runter zu laden. Scheint es aber nicht mehr zu
geben :*(

Hir das Skript:

#! /usr/bin/perl -w

# test für datenbankhandel

use DBI;
use strict;

my ($dsn) = "DBI:MYSQL:adressen_db:localhost";
my ($user_name) = "root";
my ($password) = "******"
my ($dbh, $sth);
my (@ary);

#verbindung zur db
$dbh = DBI->connect ($dsn, $user_name, $password, { RaiseError => 1 });

#issue query
$sth = $dbh->prepare ("SELECT name,vorname, strasse, plz, ort, tel, fax, handy, email, geb, gruppe");
$sth->execute ();

#anfrageergebnis lessen und aufreumen
while (@ary = $sth->fetchrow_array ())
{
print join ("\t",@ary), "\n";
}
$sth->finish ();

$dbh->disconnect ();
exit (0);

Martin Ament
13-05-2001, 10:56
HI,

bin zwar kein Perl Spezialist, aber ein guter Ansatz ist immer,
ob überhaupt eine Verbindung zur Datenbank hergestellt werden kann:

- Stimmen die Verbindungsdaten, geht es mit einem anderem Tool ?
- Ist Perl mit mysql-Support übersetzt ?

Gruss Martin

tHe_JaNuS
14-05-2001, 11:49
Versuch mal mit:
my ($dbh, $sth) = undef;

@Martin: DBI ist installiert, sonst würde er schon meckern wenn er die Lib lädt, und ein anderes Tool? Ausser PHP gibt es wohl kaum etwas was so komfortablen ist.

[ 14. Mai 2001: Beitrag editiert von: tHe_JaNuS ]

rübezahl
15-05-2001, 09:52
...Nix.gleiche fehlermeldung.

Xenos
15-05-2001, 19:15
Versuchs lieber mit nem Semikolon hinter:
my ($password) = "******"