DBI-Package in anderem Verzeichnis

Arne Buchwald

Erfahrenes Mitglied
Hallo,

ich wollte eben gerade mal einen schnellen Versuch starten, die lokale mySQL-Datenbank zu kontaktieren, u.z. mit folgendem Code:

Code:
#!c:/apache/perl/bin/perl.exe

use DBI;
use strict;

my $data_source = "dbi:TreiberName:DatenbankName";
my ($username, $password) = ("user", "password");

#Datenbank-Verbindung aufbauen
my $dbh = DBI->connect($data_source, $username, $password) ||
die "Keine Verbindung zum mySQL-Server: $DBI::errstr\n";

Dann kommt jedoch die Fehlermeldung:
Code:
Can't locate DBI.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at script line 3.

Das ist soweit auch klar, da sich Perl/PHP/mySQL nicht direkt auf C:\, sondern in C:\apache\ Perl/PHP/mySQL befindet.

Wo muss ich was abändern, damit nicht in c:\perl\site\lib, sondern in c:\apache\perl\site\lib gesucht wird. In letzterem Ordner ist das DBI.pm-Modul.

Vielen Dank,

[edit]Smilies deaktiviert[/edit]
 
Zuletzt bearbeitet:
Hallo ArneE.

Schau mal in deiner autoexec.bat nach, ob da ein Eintrag wie folgender steht.

Code:
SET PATH=C:\Perl\bin;%PATH%

Falls ja brauchste hier nur den Pfad zu korrigieren und es sollte klappen.
 
Hallo,

ich habe den Pfad auf c:\apache\perl\bin abgeändert, doch die Fehlermeldung ist immernoch die gleiche, mit dem gleichen falschen Verzeichnis. :(
 
Hallo ArneE.

Der einfachste Grund könnte natürlich sein, daß du gar kein DBI Modul installiert hast. Schau dazu mal in die Verzeichnisse .\Perl\lib und .\Perl\site\lib , dort müßte sich dann ein Modul DBI.pm oder ein Verzeichnis DBI befinden. Falls nicht müßtest du dieses Modul nachinstallieren. Nur kann ich jetzt nicht aus dem Stehgreif sagen, wie du das machen mußt.
 
Hallo,

na ja, bin schon einen ganzen Schritt weiter oder halt auch nicht - keine Ahnung!
Zu dem Zeitpunkt war das DBI-Modul noch komplett auf meiner Festplatte drauf. Dann habe ich Perl ganz gelöscht und das DBI-Modul von http://www.mysql.com runtergeladen, doch die Installation hat nicht ganz geklappt.
---------> Noch mal löschen und von vorne anfangen. :(

[edit]
So, hab' Perl komplett vom Rechner gelöscht und alle Unterordner. Dann habe ich ActivePerl neuinstalliert und wollte dann das DBI-Zip-Modul von ActiveState installieren. Ich hab's entpackt und dann sollte man "ppm install DBI.ppd" ausführen. Gesagt - getan.
Code:
Installing package 'DBI.ppd' ...
Error installing packge 'DBI.ppd': Could not locate a PPM binary of 'DBI.ppd' for this platform

Und was heißt das nun?
[/edit]
 
Zuletzt bearbeitet:
Hallo AnreE.

Also das Einfachste ist, du installierst ActivePerl, Neustart, dann

> ppm

in der Eingabeaufforderung eingeben. Dort gibst du dann

ppm > install DBI

ein. Die Internetverbindung sollte dabei schon stehen. Den Rest erledigt PPM.

Das Ganze ist über PPM schneller und einfacher als über die ZIP Dateien, zumal die teilweise veraltet sind.

Noch ein Tipp. Solltest du die Version 630 von ActivePerl installiert haben, dann fehlt dort die HTML Dokumentation. Die kannst du durch

ppm > install ActivePerl-HTML

die HTML Dokumentation nachinstallieren. Sie ist ungefähr 2,5 MByte groß.
 
Hallo Mandikator,

ja, das weiß ich, doch ich sitze hinter einem internen Proxy-Server im LAN: 192.168.1.11

Deshalb bekommt der keine Verbindung. Ist es überhaupt über einen Proxy-Server möglich? Wenn ja, wie?

Danke,
 
Hallo ArneE.

Also in der Dokumentation steht was dazu.

ActivePerl Documentation -> ActivePerl FAQ -> Using PPM

Versuch mal diese Vorschläge.
 
Hallo,

gerade gelesen. Werd's gleich ausprobieren ....

Danke!

[edit]
Installation war erfolgreich! Die Dateien konnte mittels der Variablen in der Autoexec.bat alle erfolgreich heruntergeladen und installiert werden. :)

Doch nun zum nächsten Problem:
Code:
#!c:/perl/bin/perl.exe

use DBI;
use strict;
    
my $data_source = "dbi:mSQL:GYMSUL";
my ($username, $password) = ("user", "password");
    
# Datenbank-Verbindung aufbauen
my $dbh = DBI->connect($data_source, $username, $password) ||
  die "Keine Verbindung zum mySQL-Server: $DBI::errstr\n";

Mit dem Bsp.code möchte ich eine Verbindung zur mySQL-Datenbank aufbauen, doch jetzt bekomme ich folgende Fehlermeldung:

Code:
install_driver(mSQL) failed: Can't locate DBD/mSQL.pm in @INC (@INC contains: C:/perl/lib C:/Perl/site/lib. C:\Apache\htdocs) at (eval 1) line 1.
Perhaps the DBD::mSQL perl module hasn't been fully installed,
or perhaps the capilisation of 'mSQL' isn't right.
Available drivers: ADO, ExampleP, Multiplex, Proxy.

Wäre super, wenn du mir noch ein mal helfen könntest .... ! :)

[/edit]
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück