2009-03-26 8 views
9

Les instructions d'Oracle spécifient le paramètre DYLD_LIBRARY_PATH. Cela rend mon application dépendante de la configuration des utilisateurs aléatoires et est très difficile à mettre en place. Comment puis-je éviter de devoir définir des variables d'environnement?installer Oracle Instantclient sur Mac OS/X sans définir de variables d'environnement?

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html

connexes pour Linux Note: installing Oracle Instantclient on Linux without setting environment variables?

Répondre

23

instructions d'installation de instantclient d'Oracle précise que l'ensemble d'utilisateurs DYLD_LIBRARY_PATH. C'est très difficile à gérer pour plusieurs utilisateurs.

Pour utiliser le instantclient sans poser de variables d'environnement:

Télécharger la distribution de instantclient de oracle.com. Pour faire le développement de logiciels non-java, vous aurez besoin (en supposant Oracle 10.2):

instantclient-basic-macosx-10.2.0.4.0.zip 
instantclient-sdk-macosx-10.2.0.4.0.zip 
instantclient-sqlplus-macosx-10.2.0.4.0.zip 

Décompressez les trois fichiers. Cela vous donnera un répertoire

instantclient_10_2/ 

Copiez les fichiers dans/usr, ce qui est l'un des endroits par défaut les recherches de chargeur dynamique. Si vous utilisez tnsnames.ora, copiez-le dans/etc, qui est l'emplacement global par défaut que recherche Oracle Runtime.

sudo cp tnsnames.ora /etc 

Test avec

/usr/bin/sqlplus scott/[email protected] 
+0

Ça sonne bien. Mais, j'essaie de trouver où les téléchargements sont disponibles pour le client instantané. Je n'arrive pas à les trouver. –

+0

Enfin trouvé l'emplacement de téléchargements: http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html –

+5

copier * .dylib n'est pas suffisant. Vous devez également copier * .dylib.10.1 –

0

Après beaucoup de recherches, je trouve une solution durable à cette erreur, qui consiste à éditer la configuration launchd Apache fichier .plist pour spécifier les nécessaires DYLD_LIBRARY_PATH, ORACLE_HOME et LD_LIBRARY_PATH variables d'environnement.

Vous pouvez voir la réponse complète ici: https://stackoverflow.com/a/20670810/1914455

2

Si votre objectif est simplement d'exécuter sqlplus sur votre MacBook, cela pourrait fonctionner pour vous. Retirez la variable d'environnement DYLD_LIBRARY_PATH de ~/.bashrc et le remplacer par un alias:

alias sqlplus="DYLD_LIBRARY_PATH=/Applications/instantclient_11_2 sqlplus"

Blog entry: sqlplus and DYLD_LIBRARY_PATH on Mac OS/X

Questions connexes