【发布时间】:2019-08-16 13:59:49
【问题描述】:
我在 linux 服务器上的 oracle 安装文件夹是“/lib/oracle/11.2/client64/lib”
在 ~/.bash_profile 中设置变量是
ORACLE_HOME=/usr/lib/oracle/11.2/client64
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_HOME
export LD_LIBRARY_PATH
另外,文件夹“/usr/lib/oracle/11.2/client64/lib”中的链接
ls -al|grep libclntsh.so
## Results are:
libclntsh.so -> libclntsh.so.11.1
libclntsh.so.10.1 -> /oracle/app/pracle/product/11.2.0/lib/libclntsh.so
libclntsh.so.11.1
在python中
os.environ['ORACLE_HOME']
os.environ['LD_LIBRARY_PATH']
## Results are:
'/usr/lib/oracle/11.2/client64'
'/usr/lib/oracle/11.2/client64/lib'
import cx_Oracle ## This Part is ok
但是,这段代码是错误的
cx_Oracle.clientversion()
## or
dsn = cx_Oracle.makedsn('ip',port,'SID')
conn = cx_Oracle.connect(user='uid',password='pwd',dsn=dsn)
## Above Code Results:
DatabaseError:Error while trying to retrieve text for error ORA-01804
我怀疑我的文件夹“/etc/ld.conf.d”没有“oracle-instantclient.conf”文件。
这个文件夹只有“mariadb-x86x64.conf”
ip、端口、SID 和用户名、密码都正确!
我在 linux 服务器中的 oracle 连接设置有什么问题?
【问题讨论】:
-
您是否查找过 ORA-01804,它告诉“时区信息初始化失败”。
-
如果您使用的是即时客户端,请不要设置环境变量 ORACLE_HOME。
标签: python linux oracle11g server cx-oracle