Oracle Database se considera una de las bases de datos relacionales más populares. Esto se debe a que viene lleno de características para aplicaciones pequeñas a masivas.
Por lo tanto, no es sorprendente que encuentre un escenario en el que necesite conectar una aplicación de Python a una base de datos Oracle.
A través de esta publicación, comprenderá los conceptos básicos de conectar una aplicación Python a una base de datos Oracle utilizando la interfaz CX_Oracle.
¿Qué es cx_oracle??
CX_Oracle es un módulo Python gratuito y de código abierto que le permite conectar una aplicación Python a una base de datos Oracle. El módulo se ajusta a las especificaciones de la API de la base de datos de Python, por lo que es una opción popular para ejecutar comandos PL/SQL usando Python.
Puede verificar el código fuente del módulo en el recurso definido a continuación:
https: // github.com/oracle/python-cx_oracle
Requisitos
Para seguir este tutorial, necesitará acceso a lo siguiente:
También puede usar una instalación remota de la base de datos Oracle. Tenga en cuenta que puede necesitar las credenciales al servidor de destino.
Paso 1 - Configuración de un usuario de la base de datos
El primer paso es configurar un nuevo usuario de base de datos para su aplicación Python. Puede omitir este paso si ya tiene un usuario de base de datos existente que desea usar.
Aunque este paso no es un requisito, es bueno limitar la aplicación a una base de datos específica y permiso en caso de compromiso de seguridad.
Comience al iniciar el comando SQL Plus como se muestra:
$ sqlplusA continuación, ingrese el nombre de usuario para el usuario privilegiado al que desea conectarse. Esto le solicitará una contraseña que definió durante la instalación de su base de datos.
Ingrese el nombre de usuario: sys como sysdba
Introducir la contraseña: **********
Una vez iniciado sesión, debe dejarlo caer al shell PL/SQL como:
Conectado a:
Oracle Database 19C Enterprise Edition Release 19.0.0.0.0 - ProducciónTambién puede ejecutar el comando anterior para iniciar sesión directamente a PDB:
sqlplus sys/contraseña@pdborcl como sysdbaReemplace el nombre de usuario y la contraseña con sus credenciales de destino.
Una vez que se registre, ejecute el comando a continuación para crear un usuario.
SQL> Crear usuario LinuxHint;Alterar el usuario creado y establecer las propiedades de destino, como espacio de tabla y límite de cuota.
SQL> alterar el usuario LinuxhintLa consulta anterior establece el espacio de tabla predeterminado, el espacio de tabla temporal y el límite de cuota del usuario creado, respectivamente.
Finalmente, otorgue los permisos necesarios al usuario creado como se muestra:
SQL> Tabla de creación de subvención,La consulta anterior otorga al usuario permiso para crear varios objetos de base de datos, como tablas, vistas, procedimientos, desencadenantes, vistas materializadas, secuencias, etc.
Finalmente, establezca una contraseña al usuario de destino como:
SQL> alterar el usuario Linuxhint identificado por contraseña;Luego puede salir de la sesión SQL Plus y proceder a la siguiente sección.
Paso 2 - Instalación del módulo CX_Oracle Python
El siguiente paso es configurar e instalar el módulo CX_Oracle en Python. Este paso requiere que tenga instalado Python y Pip en su máquina.
Consulte nuestros tutoriales sobre el tema para obtener más información.
Ejecute el comando pip:
python3 -m pip install cx_oracle -upgradeUna vez configurado, podemos continuar con la configuración de nuestra aplicación.
Paso 3 - Configuración de la aplicación
Comience creando el directorio principal para almacenar su código de aplicación:
$ mkdir orclpyNavegue en el directorio creado y defina un nuevo DB_Config.archivo py. Esto se utilizará para almacenar la configuración de la base de datos.
$ cd orclpy && touch db_config.pyEditar el db_config.Archivo PY con su editor de texto favorito y agregue la información de configuración de la base de datos como se muestra en la muestra a continuación:
$ vim db_config.pyInformación de configuración:
Usuario = 'Linuxhint'El archivo de configuración contiene información para iniciar sesión en el servidor. El usuario y las contraseñas se refieren al usuario que creamos en el paso 1.
El DSN define el nombre de la fuente de datos, que incluye el nombre de host del servidor y el nombre de la base de datos conectable. En este caso, PDBorCl1.
Paso 4: conectarse a la base de datos
Una vez que tenga la configuración de la base de datos establecida, podemos conectar la aplicación al servidor.
Comience creando un archivo para almacenar su código de aplicación:
$ touch main.pyEdite el archivo y agregue el código:
importar cx_oracleComenzamos importando el módulo CX_Oracle y el archivo db_config en el código anterior.
A continuación, envolvemos el bloque de conexión dentro de un bloque de captura de try. El objeto de conexión se almacena en 'Conn' usando el CX_Oracle.Función de conectar.
Si la conexión es exitosa, imprimimos la versión de la base de datos utilizando la conexión.versión. Si no, captamos el error e imprimimos.
Finalmente, cerramos la conexión usando la conexión.Función Cerrar ().
Podemos ejecutar el código como:
$ python3 main.pyEsto debería devolver la salida como:
$ Python Main.pyConclusión
Esta es una discusión sobre el proceso de conectar su aplicación Python a su base de datos Oracle utilizando el módulo CX_Oracle.