1. Instale cx_Oracle
(1) Instalación en línea
pip install cx_Oracle
(2) Instalación del código fuente
Descarga el código fuente: https://pypi.org/project/cx-Oracle/
tar -zxvf cx_Oracle-8.1.0.tar.gz
cd cx_Oracle-8.1.0
python setup.py install
2. Prueba
import cx_Oracle
No hay ningún error al importar el paquete. Cuando se utiliza la función de conexión, se muestra un error. !
Necesita instalar el cliente de Oracle para resolver el problema, este es un cliente ligero que instala Oracle.
3. Instalar Oracle
(1) Instale el paquete zip
Enlace de descarga: https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
instantclient-basiclite-linux.x64-11.2.0.4.0dbru.zip
instantclient-sdk-linux.x64-11.2.0.4.0dbru.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0dbru.zip
Descomprima el archivo en el número de versión de instanceclient_:
Cree un nuevo tnsname.ora en ./network/admin/ y edite:
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Configure las variables de entorno:
export ORACLE_HOME=/home/instantclient_11_2
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
(2) Instale el paquete rpm
Descarga: https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
rpm -ivh rpm包
#显示rpm包的安装位置
rpm -qpl oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
Cree un nuevo tnsname.ora en ./network/admin/ y edite:
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Configure las variables de entorno:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export ORACLE_SID=orcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export SQLPATH=$ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
(3) Pruebe la conexión remota
sqlplus username/paddword@ip:port/sid
Sugerencia: no instale una versión demasiado alta, es propensa a problemas con una versión de glibc baja y la instalación no es fácil de realizar.