linux - 即时客户端有什么问题?| cx_Oracle.Database: ORA-12514
问题描述
在包的帮助下,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) 即时客户端 18.3
5)Oracle 11g 数据库(位于远程服务器)
我使用官方文档来安装和配置即时客户端。
官方文档说:
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
我还应该做些什么来解决这个问题?
解决方案
即时客户端有什么问题?从您提供的信息中绝对没有。您正在连接到服务器(侦听器),但服务器未配置您指定的数据库。您可以使用不同的客户端/不同的客户端主机确认这一点。
去检查服务器上的配置。
推荐阅读
- c++ - 特征有效的成对列减法
- javascript - 将 JavaScript ArrayBuffer 转换为 8 位数字数组
- ksqldb - Return column names in KSQL in KTable
- java - 带有连接的Spring数据jap多表列
- bash - 读取文本文件并将每一行存储在 bash 脚本中的不同变量中
- swift3 - Alamofire.upload 操作在库外部失败
- python - 0-9 在一个数据帧的索引的最左边数字中多久重复一次?
- kotlin - 延迟()准确性问题/作业调度程序的奇怪行为
- java - 以下带有 listiterator 的代码无限运行
- java - C 与 Java 中变量的最大值