2016-04-16 2 views
0

Problèmes avec Perl 5.20.2 et Oracle :: DBD, erreur de suivi Lorsque vous essayez de vous connecter à Ora 12C DB, vous n'avez plus d'idées sur la façon d'identifier ce qui ne va pas ici.Échec de Perl install_driver (Oracle): - Impossible de charger '../DBD/Oracle/Oracle.dll' pour le module DBD :: Oracle Win64

install_driver(Oracle) failed: Can't load 'C:/Perl/site/lib/auto/DBD/Oracle/Oracle.dll' for module DBD::Oracle: load_file:%1 is not a valid Win32 application at C:/Perl/lib/DynaLoader.pm line 194. 
    at (eval 72) line 3. 
Compilation failed in require at (eval 72) line 3 

Mon environnement est la suivante

  • Perl -v - C'est perl 5, la version 20, la subversion 2 (v5.20.2) construit pour MSWin32-x86-multi-thread-64int
  • OS est Win 2008 R2 SP1
  • client Ora fait 12.1.0 (64 bits)

de Windows Les variables environnementales

ORACLE_HOME = C: \ Oracle12c produit \ \ 12.1.0 \ client_1

Path = C: \ Oracle12c produit \ \ 12.1.0 \ client_1 \ bin; C: \ Perl \ emplacement \ bin; C : \ Perl \ bin; C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPo werShell \ v1.0 \; c: \ dmake; D: \ NTRESKIT

TNS_ADMIN = C: \ Oracle12c \ produit \ 12.1.0 \ client_1 \ bin

+0

Avez-vous installé le composant OCI du client Oracle? Installez-vous Oracle Instant Client pour 12c? – tale852150

+0

Oracle Client 12c est installé et je vois l'ocu.dll dans le dossier 12.1.0 \ client_1 \ BIN – user2574678

Répondre

0

figured it out ... question n'a pas été un problème d'autorisation de fichiers, l'indice était dans le "... pas une application Win32 valide" verbiage. J'ai supprimé le client Oracle 12c 64 bits puis installé le client Oracle 12c 32 bits, vous pouvez également installer le pilote 11g (apparemment un client Oracle prend en charge une version antérieure et une version antérieure). J'ai besoin du programme d'installation complet du client Ora 12c car j'ai besoin d'accéder aux outils de base de données comme sqlloader, notez qu'il y a un bogue dans l'installateur 12c Oracle 32 bits, j'ai dû modifier le fichier install/oraparam.ini et remplacer MSVCREDIST_LOC = vcredist_x64.exe avec MSVCREDIST_LOC = vcredist_x86.exe, m'a pris un certain temps pour trouver l'installateur, lien ici, http://www.oracle.com/technetwork/database/enterpriseedition/downloads/database12c-win64-download-2297732.html, pilote 32 bits en bas de l'url)

aussi, très important d'ajouter également un chemin d'env ORACLE_HOME Win , J'ai également ajouté le client Oracle au chemin et j'ai vérifié qu'il était avant les entrées Perl dans mon chemin d'accès Windows.

0

en plus du commentaire que j'ai fait ci-dessus, s'il vous plaît regarder ce qui suit ici sur stackoverflow:

Perl_and_Oracle_DBD

+0

Ok, assez de downvotes, s'il vous plaît. J'essayais simplement de suggérer que, comme indiqué dans le lien, la question peut être un problème d'autorisations. – tale852150

+0

Merci d'avoir aidé, ce n'était pas un problème d'autorisation de fichiers mais un problème avec une version Perl 32 bits essayant de communiquer avec un client Ora 64 bits, injuste que quelqu'un vous a légitimement aidé. – user2574678

+1

Merci l'utilisateur2574678. Je suis content que vous l'ayez compris et que vous ayez trouvé une solution. Après tout, c'est ce pour quoi nous sommes tous là! – tale852150