2009-03-26 12 views
9

Las instrucciones de Oracle especifican la configuración DYLD_LIBRARY_PATH. Esto hace que mi aplicación dependa de la configuración de usuarios aleatorios y es muy difícil de configurar.instalando Oracle Instantclient en Mac OS/X sin configurar variables de entorno?

¿Cómo puedo evitar tener que configurar variables de entorno?

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

nota relacionada para Linux: installing Oracle Instantclient on Linux without setting environment variables?

Respuesta

23

instrucciones de instalación de Oracle instantclient especificar que el DYLD_LIBRARY_PATH conjunto de usuarios. Esto es muy problemático de administrar para múltiples usuarios.

Para utilizar el instantclient sin establecer ninguna variable de entorno:

Descargar la distribución de instantclient oracle.com. Para hacer el desarrollo de software no Java, necesitará (suponiendo 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 

Descomprimir los tres archivos. Esto le dará un directorio

instantclient_10_2/ 

copiar los archivos en/usr, que es uno de los lugares predeterminados de las búsquedas dinámicas de la cargadora.

sudo cp instantclient_10_2/sdk/include/*.h /usr/include 
sudo cp instantclient_10_2/sqlplus   /usr/bin 
sudo cp instantclient_10_2/*.dylib   /usr/lib 

Si utiliza tnsnames.ora, copiarlo a/etc, que es el lugar global predeterminada las búsquedas en tiempo de ejecución de Oracle.

sudo cp tnsnames.ora /etc 

prueba con

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

Esto suena muy bien. Pero, estoy tratando de encontrar dónde están disponibles las descargas para el cliente instantáneo. Parece que no puede encontrarlos. –

+0

Finalmente encontré la ubicación de descargas: http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html –

+5

copiando * .dylib no es suficiente. También debe copiar * .dylib.10.1 –

0

Después de mucha investigación, he encontrado una solución sostenible a este error, que consiste en editar el archivo de configuración launchd.plist de Apache para especificar los DYLD_LIBRARY_PATH, ORACLE_HOME y LD_LIBRARY_PATH las variables de entorno necesarias.

Usted puede ver la respuesta completa aquí: https://stackoverflow.com/a/20670810/1914455

2

Si su objetivo es simplemente para ejecutar sqlplus en el MacBook, esto podría funcionar para usted. Retire la variable de entorno DYLD_LIBRARY_PATH desde ~/.bashrc y reemplazarlo con un alias:

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

Blog entry: sqlplus and DYLD_LIBRARY_PATH on Mac OS/X