Oracle 的指令指定设置 DYLD_LIBRARY_PATH。这使得我的应用程序依赖于随机用户的配置,并且设置起来非常麻烦。
如何避免设置任何环境变量?
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html
Oracle 的指令指定设置 DYLD_LIBRARY_PATH。这使得我的应用程序依赖于随机用户的配置,并且设置起来非常麻烦。
如何避免设置任何环境变量?
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html
Oracle 的 Instantclient 安装说明指定用户设置 DYLD_LIBRARY_PATH。这对于多个用户来说管理起来非常麻烦。
要在不设置任何环境变量的情况下使用 Instantclient:
从 oracle.com 下载 Instantclient 发行版。对于进行非 Java 软件开发,您将需要(假设 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
解压这三个文件。这会给你一个目录
instantclient_10_2/
将文件复制到 /usr,这是动态加载程序搜索的默认位置之一。
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
如果您使用 tnsnames.ora,请将其复制到 /etc,这是 oracle 运行时搜索的默认全局位置。
sudo cp tnsnames.ora /etc
测试
/usr/bin/sqlplus scott/tiger@myoracle
如果您的目标只是在 MacBook 上运行 sqlplus,这可能对您有用。从 ~/.bashrc 中删除 DYLD_LIBRARY_PATH 环境变量并将其替换为别名:
alias sqlplus="DYLD_LIBRARY_PATH=/Applications/instantclient_11_2 sqlplus"
经过大量研究,我找到了解决此错误的可持续解决方案,其中涉及编辑 Apache 的launchd
配置.plist
文件以指定所需DYLD_LIBRARY_PATH
的ORACLE_HOME
、 和LD_LIBRARY_PATH
环境变量。
您可以在此处查看完整答案:https ://stackoverflow.com/a/20670810/1914455