即时客户端怎么了? | cx_Oracle.Database:ORA-12514

时间:2018-08-28 11:05:13

标签: linux database oracle ubuntu-14.04 cx-oracle

借助cx_Oracle软件包,我试图连接到远程Oracle数据库。不幸的是,当尝试测试下一个python代码时出现错误:

import cx_Oracle;
dsn_tns=cx_Oracle.makedsn('HOST', 'PORT', service_name='NAME')
connection=cx_Oracle.connect('USERNAME', 'PASSWORD', dsn_tns)

错误

cx_Oracle.Database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

依赖项

1)Ubuntu 14.04(64位)(本地计算机)

2)Python 2.7.14(64位)

3)cx_Oracle 6.4.1

4)Instant Client 18.3

5)Oracle 11g数据库(位于远程服务器中)

我使用了official文档来安装和配置即时客户端。

官方文档说:

  

Oracle Call Interface 18.3可以连接到Oracle Database 11.2或   以后。

这就是为什么我加载即时客户端18.3的基本软件包,然后将其解压缩的原因:

cd /opt/oracle          
unzip instantclient-basic-linux.x64-18.3.0.0.0dbru.zip

然后我安装libaio

sudo apt-get install libaio1

在终端中,我编写了下2条命令:

sudo sh -c "echo /opt/oracle/instantclient_18_3 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

我在/opt/oracle/instantclient_18_3/network/admin里面放了tnsnames.ora文件。

之后,我在~/.profile中设置环境变量:

export LD_LIBRARY_PATH=/opt/oracle/instantclient_18_3:$LD_LIBRARY_PATH
export TNS_ADMIN=/opt/oracle/instantclient_18_3/network/admin
export PATH=/opt/oracle/instantclient_18_3:$PATH

我还应该怎么做才能解决该问题?

1 个答案:

答案 0 :(得分:0)

即时客户端怎么了?您提供的信息绝对没有。您正在连接到服务器(侦听器),但是未使用您指定的数据库配置服务器。 您可以与其他客户端/其他客户端主机确认这一点。

去检查服务器上的配置。