Schrift
[thread]3559[/thread]

Can't locate bugs.pm?: Gesuchtes Modul ist Datenbank!



<< >> 7 Einträge, 1 Seite
nikster
 2005-04-17 03:28
#33159 #33159
User since
2004-05-19
12 Artikel
BenutzerIn
[default_avatar]
Hallo Forum.
Ich habe folgendes Problem:
Ich benutze ein Skript (O'Reilly Mysql Kochbuch) um mir alle Tabellen in einer Datenbank anzeigen und als HTML-Seite ausgeben zu lassen. Brauche (spaeter mal) eine zusaetzliche Sicht auf meinen Bugzilla hab aber nicht so die Ahnung von Datenbanken (kommt hoffentlich noch...)...

Das Skript sieht so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#! /usr/bin/perl -w
#show_tables.pl - SHOW TABLES Abfrage ausfuehren und Ergebnisse liefern indem HTML generiert wird.
#
use strict;
use lib qw(/usr/lib/perl5/5.8.5);
use bugs;
#
#Header, Leerzeile und Anfang der Seite ausgeben.
#
print <<EOF;
Content-Type: text/html

<html>
<head>
<title>Tables in bugs Database</title>
</head>
<body bgcolor="white">

<p>Tables in bugs Database</p>
EOF

#Datenbankverbindung herstellen, Tabellenliste ausgeben, Datenbankverbindung abbauen
my $dbh = bugs::connect ();
my $sth = $dbh->prepare ("SHOW TABLES");
$sth->execute ();
while (my @row = $sth->fetchrow_array ())
{
   print "$row[0]<br />\n";
}
$dbh->disconnect ();

print <<EOF;
</body>
</html>
EOF


Im Mysql steht statt use bugs; halt use Cookbook; die Datenbank die der Author benutzt. Bei mir heisst sie bugs.?!
Muss man das ueberhaupt unter use angeben?
Wie dem auch sei... das Skript liegt unter /cgi-bin (Linux) und wenn ich ein Hallo Welt Skript reinlege funktioniert es auch.
Also liegt es wahrscheinlich nicht an der Apache Konfiguration.
Ich bekomme folgende Fehlermeldung:

[Sun Apr 17 00:28:17 2005] [error] [client 192.168.1.1] Can't locate bugs.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i686-linux /usr/lib/perl5/5.8.5 /etc/perl /usr/lib/perl5/site_perl/5.8.5/i686-linux /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i686-linux /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl /usr/local/lib/site_perl .) at /var/www/localhost/cgi-bin/show_tables_oo.pl line 9.
[Sun Apr 17 00:28:17 2005] [error] [client 192.168.1.1] BEGIN failed--compilation aborted at /var/www/localhost/cgi-bin/show_tables_oo.pl line 9.
[Sun Apr 17 00:28:17 2005] [error] [client 192.168.1.1] Premature end of script headers: show_tables_oo.pl
[Sun Apr 17 00:28:22 2005] [error] [client 192.168.1.1] Undefined subroutine &bugs::connect called at /var/www/localhost/cgi-bin/show_tables.pl line 23.

Aufgefallen ist mir vor allem, das er nach bugs.pm sucht...
obwohl ich in perl nicht so beschlagen bin nehme ich an, das sich das auf das use bugs; bezieht...
Was kann ich da machen?

Ich bin fuer jede Hilfe dankbar.

Gruss

Niels

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1113724051-->
GwenDragon
 2005-04-17 13:51
#33160 #33160
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
1) Auf welcher Seite des MySql-Kochbuchs ist es (habe es gerade zur Hand)?
Quote
Ich benutze ein Skript (O'Reilly Mysql Kochbuch)


2) Zur Fehlermeldung:
Da fehlt wohl das Modul bugs.pm.
Was ist denn in deinem bugs.pm drin?

3) Dein Code ist:
Code: (dl )
my $dbh = bugs::connect ();

Warum schreibst du denn nicht
Code: (dl )
1
2
3
4
5
# Snytax von connect()
#$dbh = DBI->connect($dsn, $user, $password,
#                      { RaiseError => 1, AutoCommit => 0 });
my $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
my $dbh = DBI->connect($dsn, $user, $password);
\n\n

<!--EDIT|GwenDragon|1113731826-->
nikster
 2005-04-17 14:32
#33161 #33161
User since
2004-05-19
12 Artikel
BenutzerIn
[default_avatar]
Hi Gwendragon und schonmal Danke fuer deine Antwort.

1) Auf welcher Seite des MySql-Kochbuchs ist es (habe es gerade zur Hand)?

Es ist auf Seite 781, ein abgewandeltes mit dem ich es ebenfalls versucht habe ist auf S. (ueberraschung) 782

2) Zur Fehlermeldung:
Da fehlt wohl das Modul bugs.pm.
Was ist denn in deinem bugs.pm drin?

Hmm... das ist es ja. Es gibt kein bugs.pm Modul (ich finde keins)
bugs ist der Name der Datenbank die Abgefragt werden soll.

3)
jUHU! mIt deinem Vorschlag hat es funktioniert (ich musste aber noch mal alle Vaiablen in Klammern einpacken)
Warum ich es nicht gleich damit Versucht habe?
Ich verstehe nicht viel von Datenbanken und Perl und habe es so gemacht wie es in diesem (furchtbar teuren) Buch stand.

Danke,Danke und Gruss

Niels
GwenDragon
 2005-04-17 15:51
#33162 #33162
User since
2005-01-17
14748 Artikel
Admin1
[Homepage]
user image
[quote=nikster,17.04.2005, 12:32]Ich verstehe nicht viel von Datenbanken und Perl und habe es so gemacht wie es in diesem (furchtbar teuren) Buch stand.[/quote]
Na, dass es geholfen hat freut mich.
Aber etwas Perl lernen solltest du schon. Teure Bücher (die Perl Bücher sind es wert!) wie das MySQL-Kochbuch sind erst was für Fortgeschrittene.

Schau doch auch mal ins Wiki:unter Wissenbasis, dort sollte es unter BucheEmpfehlungen eine Liste von Perl-Büchern geben. Schau mal dort dich um.\n\n

<!--EDIT|GwenDragon|1113739236-->
nikster
 2005-04-18 09:51
#33163 #33163
User since
2004-05-19
12 Artikel
BenutzerIn
[default_avatar]
Hmm...
Ich hab mir auch schon mal Programmieren mit Perl von O'Reilly gekauft.
Aber wenn ich neben der Arbeit auch noch alles lernen wuerde was ich wollte... kaeme ich wahrscheinlich die naechsten Jahre nicht mehr zum schlafen... ;)
Datenbanken beruehren mich meistens nur kurz und das meiste kann man ueber die bash erledigen.

Ich arbeite mich vor :)

Niels
renee
 2005-04-18 10:31
#33164 #33164
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Vielleicht hilft Dir auch der Wiki:Wiki-Artikel (Perl und Datenbanken)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2005-04-18 17:17
#33165 #33165
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
auf meiner HP steht unter Vortraege auch eine Einfuehrung in Perl, die ich auch fuer Perl-Kurse verwende...
Weiters steht unter Perl auch was zu DBI mit Mysql...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 7 Einträge, 1 Seite



View all threads created 2005-04-17 03:28.