Conectando a Bases de Datos Oracle con cx_Oracle en Python
Oracle es una de las bases de datos relacionales más populares del mundo. Python es un lenguaje de programación de alto nivel que se utiliza para una amplia gama de tareas, incluidas la ciencia de datos, la inteligencia artificial y el desarrollo web.
cx_Oracle es un módulo de extensión de Python que permite a los programadores acceder a bases de datos Oracle. Es un módulo maduro y bien documentado que proporciona una API completa para consultar y actualizar datos en Oracle.
Requisitos previos
Para seguir este tutorial, necesitarás lo siguiente:
- Un entorno de desarrollo Python
- Un servidor Oracle instalado
- El módulo cx_Oracle instalado
Instalación del módulo cx_Oracle
Para instalar el módulo cx_Oracle, puedes utilizar el administrador de paquetes de tu distribución de Python. Por ejemplo, en Ubuntu puedes utilizar el siguiente comando:
sudo apt install python3-cx-oracle
Creando una conexión a Oracle
Para crear una conexión a Oracle, puedes utilizar el siguiente código:
import cx_Oracle
# Configuramos los parámetros de conexión
host = "localhost"
port = 1521
sid = "orcl"
user = "my_user"
password = "my_password"
# Creamos la conexión
connection = cx_Oracle.connect(user=user, password=password, dsn="{}:{}/{}".format(host, port, sid))
# Imprimimos la versión de la base de datos
print(connection.version)
Este código creará una conexión a una base de datos Oracle llamada «orcl» que se ejecuta en el host local en el puerto 1521. El usuario y la contraseña de la conexión se llaman «my_user» y «my_password», respectivamente.
Ejecutando una consulta SQL
Una vez que hayas creado una conexión, puedes utilizarla para ejecutar consultas SQL. Por ejemplo, el siguiente código ejecuta una consulta que devuelve todos los registros de la tabla «employees»:
# Creamos un cursor
cursor = connection.cursor()
# Ejecutamos la consulta
cursor.execute("SELECT * FROM employees")
# Recorremos los resultados
for row in cursor:
print(row)
# Cerramos el cursor
cursor.close()
Este código imprimirá el siguiente resultado:
(1, 'John Doe', 'sales', 30000)
(2, 'Jane Doe', 'marketing', 25000)
(3, 'Peter Smith', 'IT', 50000)
Ejecutando una actualización SQL
También puedes utilizar cx_Oracle para ejecutar actualizaciones SQL. Por ejemplo, el siguiente código actualiza el salario del empleado con el ID 1 a 50000:
# Creamos un cursor
cursor = connection.cursor()
# Ejecutamos la actualización
cursor.execute("UPDATE employees SET salary = 50000 WHERE id = 1")
# Confirmamos la actualización
connection.commit()
# Cerramos el cursor
cursor.close()
Cerrando la conexión
Una vez que hayas terminado de utilizar una conexión, debes cerrarla para liberar recursos. Puedes hacerlo utilizando el siguiente código:
# Cerramos la conexión
connection.close()
Conclusión
cx_Oracle es una herramienta poderosa que te permite conectarte y acceder a bases de datos Oracle desde Python. Con este módulo, puedes realizar consultas, actualizaciones y otras operaciones sobre datos en Oracle.