[PERL] DBI Modul funktioniert mit "mysql_setpermission&

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

[PERL] DBI Modul funktioniert mit "mysql_setpermission&

Postby ClausVB » 11. September 2006 15:45

[PERL] DBI Modul funktioniert mit "mysql_setpermission" jedoch nicht mit folgendem Quellcode:

Code: Select all
#!/usr/bin/perl -w

use strict;
use lib '/opt/lampp/lib/perl5/site_perl/5.8.7/i686-linux/Bundle';
use DBI;

# Verbindung zum RDBMS MySQL und zur DB aufbauen
my $dbh = DBI->connect("DBI:mysql:database=dl_stats:host=localhost", 'root', '');

# Verbindung schließen
$dbh->disconnect;


Die Fehlermeldung:
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql # ./verbindung_zu_mysql_herstellen.pl
Can't locate object method "connect" via package "DBI" (perhaps you forgot to load "DBI"?) at ./verbindung_zu_mysql_herstellen.pl line 8.
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql # perl verbindung_zu_mysql_herstellen.pl
Can't locate object method "connect" via package "DBI" (perhaps you forgot to load "DBI"?) at verbindung_zu_mysql_herstellen.pl line 8.
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql #


Interessanterweise funktioniert "mysql_setpermission" mit einer identischen Anweisung:
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql # /opt/lampp/bin/mysql_setpermission
Password for user to connect to MySQL:


Wenn man es jedoch auch mit "perl /opt/lampp ..." aufruft, schlägt es auch fehl.
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql # perl /opt/lampp/bin/mysql_setpermission
Can't locate DBI.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i586-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl .) at /opt/lampp/bin/mysql_setpermission line 30.
BEGIN failed--compilation aborted at /opt/lampp/bin/mysql_setpermission line 30.
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql #


DBI ist demnach installiert und ich bekomme "Can't locate DBI.pm ..." auch, wenn ich die Zeile
use lib '/opt/lampp/lib/perl5/site_perl/5.8.7/i686-linux/Bundle';
weglasse.

Ich habe auch schon versucht meine Skript nach
/opt/lampp/bin
zu kopieren und da zu starten (gleich Rechte wie "mysql_setpermission", nämlich 755), aber auch das funktioniert nicht.

Weiß jemand Rat?

Gruß
Claus
User avatar
ClausVB
 
Posts: 32
Joined: 12. June 2003 10:46
Location: NRW - Germany

Postby ClausVB » 11. September 2006 16:04

Ein Stück bin ich schon weiter:

Code: Select all
#!/opt/lampp/bin/perl

use DBI;
use Getopt::Long;
use strict;
use vars qw($db $sth $hostname $opt_user $opt_password $opt_help $opt_host
       $opt_socket $opt_port $host $version);

my $sqlhost = "";
my $user = "";

$db=$host=$opt_user= $opt_password= $opt_help= $opt_host= $opt_socket= "";
$opt_port=0;

GetOptions('user=s', 'password=s', 'help', 'host=s', 'socket=s', 'port=i');

# Verbindung zum RDBMS MySQL und zur DB aufbauen
$db = DBI->connect(
   "DBI:mysql:mysql:host=$sqlhost:port=$opt_port:mysql_socket=$opt_socket",
   $opt_user,
   $opt_password,
   {PrintError => 0}
) || die("Keine Verbindung zum MySQL RDBMS $DBI::errstr");

# Verbindung schließen
$db->disconnect;


Funktioniert mit
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql # ./mysql_verbinden

aber nicht mit
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql # perl mysql_verbinden
Can't locate DBI.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i586-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl .) at mysql_verbinden line 3.
BEGIN failed--compilation aborted at mysql_verbinden line 3.
pcl3129:/opt/lampp/htdocs/perl_camel-book/mysql #


Sehr strange ...

Gruß
Claus
User avatar
ClausVB
 
Posts: 32
Joined: 12. June 2003 10:46
Location: NRW - Germany

Postby Oswald » 12. September 2006 14:44

Hallo Claus!

perl mysql_verbinden funktioniert nicht, weil Du damit das Perl von Deinem System verwendest. Ein /opt/lampp/bin/perl mysql_verbinden wird dagegen funktionieren.

Liebe Grüße
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby ClausVB » 15. September 2006 12:32

:) *tanz, freu, hüpf, boing, boing* :lol:

Es geht! Es geht!

Tausend Dank, Oswald!

Gruß
Claus
User avatar
ClausVB
 
Posts: 32
Joined: 12. June 2003 10:46
Location: NRW - Germany


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 21 guests