PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC (@INC contains



tennessee
13.09.2006, 13:35
Hallo zusammen,

ich versuche mit perl eine Verbindung (Linux) zu Oracle 9.2 herzustellen.
wenn ich mein perlscript ausführe bekomme ich die Meldung

install_driver(Oracle) failed: Can't locate DBD/Oracle.pm in @INC (@INC contains

Habe aber eigentlich die Oracle.pm abgelegt.

Habt Ihr noch eine Idee?

theton
13.09.2006, 14:41
Nutze mal 'cpan' zum installieren von Perl-Modulen.

tennessee
14.09.2006, 14:51
was macht dieses schöne tool?

theton
14.09.2006, 15:00
cpan ist der Installer fuer Perl-Module von cpan.org (also den "offiziellen" Modulen). (Eigentlich peinlich, wenn ein Perl-Programmierer cpan nicht kennt. *find*) Und die DBD-Sachen gibt's damit auch.



[root@admin theton]# cpan

cpan shell -- CPAN exploration and modules installation (v1.7601)
ReadLine support enabled

cpan> install DBD::Oracle
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
...

So installierst du DBD:: Oracle mit cpan. Wenn du cpan noch nicht benutzt hast, wirst du am Anfang erstmal die Konfiguration angezeigt bekommen, aber die erklaert sich eigentlich von selbst. Ausserdem ist cpan auch in der Lage Abhaengigkeiten zwischen den Perl-Modulen automatisch aufzuloesen.

tennessee
14.09.2006, 16:00
vielen Dank. Noch bin ich kein perl Programmierer. Ich fang gerade erst an, daher die unwissenheit.

theton
14.09.2006, 17:24
Dann schau dir cpan mal gut an und lies auch die Manpage dazu. cpan wirst du oefter brauchen, wenn du Perl-Module installieren willst. Nur damit stellst du sicher, dass die auch wirklich sauber installiert werden und dort landen, wo Perl sie tatsaechlich sucht. :)

tennessee
15.09.2006, 13:23
Hallo zusammen,

leider ist bei uns im Hause cpan nicht im Einsatz. habe nun versucht es mittels rpm zu installieren:

rpm -i perl-DBD-Oracle-1.17-2.1.i586.rpm

Leider bekomme ich folgende Abhänigkeiten:

error: Failed dependencies:
libclntsh.so.10.1 is needed by perl-DBD-Oracle-1.17-2.1
libnnz10.so is needed by perl-DBD-Oracle-1.17-2.1
libociicus.so is needed by perl-DBD-Oracle-1.17-2.1

Dazu findet sich aber nix brauchbares bei google.de

Aussderm denke ich das diese etwas für 10G ist? libclntsh.so.10.1
Ich brauche das aber für Oracle 9.2

Habt Ihr ne Idee wo ich dieses Paket für Oracle 9 bekomme mit allen Abhängigkeiten?

Wolfgang
15.09.2006, 15:26
Hallo
Warum installierts du dir nicht einfach CPAN?
Das lohnt sich in jedem Fall.
Hier mal einer von vielen Links dazu:
http://www.linux-magazin.de/Artikel/ausgabe/1997/10/CPAN/cpan.html
Ist zwar schon älter, sollte aber genügen.

Oder verwende einen Paketmanager, der die Abhängigkeiten auflöst.
rmp deutet auf red-had oder suse hin ??
Gruß Wolfgang

theton
15.09.2006, 16:39
Die .so-Dateien, die er da sucht sind direkt aus Oracle, soviel ich weiss. Und um DBD:: Oracle auf deinem Rechner nutzen zu koennen, brauchst du nunmal auch die Oracle-Bibliotheken auf deinem Rechner. Das RPM ist scheinbar gegen die 10er Oracle gelinkt. Wenn du eine 9er auf dem Rechner hast, musst du dir halt ein anderes RPM-Paket besorgen oder halt mit CPAN installieren. Aber auch bei CPAN muessen Oracle-Libs auf dem Rechner sein, da ja das Perl-Modul dagegen gelinkt wird.

bemar
09.06.2010, 17:52
Ich hab das gleiche oder ähnliche Problem:

Oracle 10g auf Ubuntu 8.04 LTS
Ich möchte das DBD::Oracle Package zum laufen bekommen.
Ich habe CPAN installiert und im CPAN gebe ich "install DBD::Oracle" ein.
Er sagt aber ständig:


The ORACLE_HOME environment variable is not set and I couldn't guess it.
It must be set to hold the path to an Oracle installation directory
on this machine (or a machine with a compatible architecture).
See the appropriate README file for your OS for more information.
ABORTED!


Die Oracle Home und LD Library ist aber in der .bashrc vom Administrator und von Oracle gesetzt. Daher die Frage. Als welcher User muss ich denn das CPAN Laufen lassen, das er zum einen die Environment Variablen findet und zum anderen auch beim Testen zugriff auf das Oracle Verzeichnis hat? Ich nehme an das er da irgendwelche Librarys sucht.
Ich hab nen "Administrator" account mit root Rechten und den obligatirischen Oracle User. Als Administrator sagt er dass das ORACLE_HOME invalid ist. Als root findet er ORACLE_HOME garnicht.

Danke für eure Tipps.

Gruß
Benjamin