Erreur lors de l'installation de DBD::Oracle
Je suis en train d'installer le module Perl DBD::Oracle sur mon RHEL6.1 serveur. En faisant de la sorte, j'ai suivi les étapes suivantes:
-
Installation de Rpm suivants:
- oracle-instantclient12.1-de base-12.1.0.2.0-1.x86_64.tr /min
- oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.tr /min
- oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.tr /min
-
L'exportation de variables d'environnement
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib
-
L'installation de DBD::Oracle
cpan -i DBD::Oracle
En faisant de la sorte, il donne le message d'erreur suivant:
Installing on a linux, Ver#2.6
Using Oracle in /usr/lib/oracle/12.1/client64
DEFINE _SQLPLUS_RELEASE = "1201000200" (CHAR)
Oracle version 12.1.0.2 (12.1)
Unable to locate an oracle.mk or other suitable *.mk
file in your Oracle installation. (I looked in
/usr/lib/oracle/12.1/client64/rdbms/demo/demo_xe.mk /usr/lib/oracle/12.1/client64/rdbms/lib/oracle.mk /usr/lib/oracle/12.1/client64/rdbms/demo/oracle.mk /usr/lib/oracle/12.1/client64/rdbms/demo/demo_rdbms.mk /usr/lib/oracle/12.1/client64/rdbms/demo/demo_rdbms64.mk /usr/lib/oracle/12.1/client64/rdbms/lib/ins_rdbms.mk /usr/share/oracle/12.1/client64/demo.mk under /usr/lib/oracle/12.1/client64)
The oracle.mk (or demo_rdbms.mk) file is part of the Oracle
RDBMS product. You need to build DBD::Oracle on a
system which has one of these Oracle components installed.
(Other *.mk files such as the env_*.mk files will not work.)
Alternatively you can use Oracle Instant Client.
In the unlikely event that a suitable *.mk file is installed
somewhere non-standard you can specify where it is using the -m option:
perl Makefile.PL -m /path/to/your.mk
See the appropriate README file for your OS for more information and some alternatives.
at Makefile.PL line 1187.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
PYTHIAN/DBD-Oracle-1.74.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
Make had some problems, won't test
Running make install
Make had some problems, won't install
Quel est le problème avec le processus d'installation? J'ai suivi cette guide.
OriginalL'auteur Mandar Shinde | 2014-10-05
Vous devez vous connecter pour publier un commentaire.
Après l'installation et la configuration de l'Oracle Instant Client, utilisez la normale des étapes de génération sans le cpan outil, et de passer le
-l
option pour la Makefile.PLTélécharger le
tar.gz
package et décompressez-leConstruire
Installer
même ici!! partout où j'ai cherché, les gens étaient exhortés à lire le fichier, mais le fichier a dit TRÈS peu de choses sur InstantClient! Je suis en état de choc qu'il est descendu à l'ajout de -l. Saint fume. MERCI!!!!
Un autre détail: parmi mes tentatives infructueuses pour obtenir le ding-dong chose à installer, j'ai fait quelque CHOSE qui a causé deux softlinks d'être créé: ## sudo ln -s libclntsh..11.1 libclntsh.donc ## sudo ln -s libocci..11.1 libocci.donc ## Et oui, j'ai vérifié que la création de ces liens n'est pas suffisant; la magie était en ajoutant que '-l' comme ci-dessus.
Découvrez les lignes de 132..134 ou 192 de DBD::Oracle Makefile.PL
OriginalL'auteur Miguel Prz
En fait, si vous voulez utiliser les rpm et cpan pour l'installer, vous devez définir ORACLE_HOME pour le dossier lib, pas seulement client64 et ajouter sqlplus pour le chemin d'accès :
avec qui
cpan -i DBD::Oracle
renvoie aucune erreur.OriginalL'auteur QuickFix
La seule chose que le CPAN programme d'installation ne peut pas trouver, c'est un *.mk fichier. Oracle doit jouer à un jeu du chat et de la souris avec le CPAN installer car le programme d'installation est à la recherche dans plusieurs emplacements pour plusieurs noms de fichiers.
J'ai utilisé la commande
pour trouver cette démo.mk est maintenant situé dans
/usr/lib/oracle/12.1/client64/demo/
au lieu de/usr/lib/oracle/12.1/client64/
J'ai donc créé un lien symbolique
et le CPAN programme d'installation a réussi.
Merci pour cette réponse, cela fonctionne. Il est important que CPAN installateurs de travail parce que nous faisons tout ce que nous pouvons ne pas être en cours d'exécution nécessaires modules forment le système de Perl répertoires (à l'aide de Carton).
OriginalL'auteur chadclan
J'ai été en mesure d'utiliser CPAN installer DBD::Oracle pour 11.2.0.4 en installant les 3 suivants instant client paquets RPM:
Une fois que je suis de ceux qui sont installés, cpan a été en mesure de construire. C'est avec CentOS 7.3.1611.
OriginalL'auteur TheParanoidAndroid
Avant de commencer, vous devez:
Téléchargement Oracle 12c instant client et le SDK:
Installer avec la commande:
sudo apt-get install libaio1
Télécharger et déballer DBD::Oracle paquet witn la commande:
cpan get DBD::Oracle
Si vous avez DBD::Oracle 1.74 + Oracle 12c (12.2.0.1) et Ubuntu 18 Application sous Windows 10, alors vous avez besoin de plus de changements.
Commentaire ligne en 1613 Makefile.PL
#local $ENV{PATH} = join $Config{path_sep}, "$OH_path/bin", $OH_path, $ENV{PATH} if $OH;
Remplacer la ligne 1630
mon $sqlplus_release = `sqlplus -S /nolog \@define.sql`;
avec les lignes
Exécuter le script Perl:
perl Makefile.PL -l
Remplacer les lignes 569-581 (parce que Ubuntu sous Windows ne prend pas en charge les chemins du côlon) avec les lignes ci-dessous:
lib/DBD/Oracle.pm $(INST_MAN3DIR)/DBD_Oracle.$(MAN3EXT) \
lib/DBD/Oracle/GetInfo.pm $(INST_MAN3DIR)/DBD_Oracle_GetInfo.$(MAN3EXT) \
lib/DBD/Oracle/Object.pm $(INST_MAN3DIR)/DBD_Oracle_Object.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Aix.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Aix.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Cygwin.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Cygwin.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Hpux.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Hpux.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Linux.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Linux.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Macos.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Macos.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Sun.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Sun.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Vms.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Vms.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Win32.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Win32.$(MAN3EXT) \
lib/DBD/Oracle/Troubleshooting/Win64.pod $(INST_MAN3DIR)/DBD_Oracle_Troubleshooting_Win64.$(MAN3EXT)
make && make test
sudo make install
Et j'espère que vous avez toutes les conditions préalables installé avant de commencer.
OriginalL'auteur Алексей Штыков