Insertar y extraer ficheros en una tabla de Oracle con un campo BLOB usando código Python. Un ejemplo de inserción de registro en tabla Oracle, con un campo BLOB, selección de registros (para mostrar el contenido de una tabla) y extracción de documentos de campos BLOB de Oracle.

En primer lugar, crearemos la tabla «factura» en nuestra base de datos Oracle, usando el siguiente SQL:

Crearemos la tabla en Oracle, en este caso usando Oracle SQL Developer. Dicha tabla contiene el campo «factura» de tipo BLOB, que será donde almacenemos los documentos:

El código Python para insertar un registro en la tabla Oracle con un campo BLOB que permite insertar y extraer ficheros:

Para probar el código Python, modificaremos los datos de conexión para incluir los de nuestro servidor Oracle Database, modificando los valores del servidor, puerto, SID de la base de datos, usuario y contraseña de las líneas:

Y prepararemos varios ficheros PDF (pueden ser de cualquier otro formato) en una carpeta`, en este caso en «D:\ProyectoA_Factura»:

Compilaremos el código Python anterior, que buscará los ficheros PDF en la carpeta D:\ProyectoA_Factura, e insertará un registro con cada fichero. Tras insertar los registros en la tabla de Oracle, mostrará un listado por pantalla de los registros insertados y extraerá tres ficheros PDF de tres de los registros insertados:

Los ficheros extraídos de la tabla Oracle:

Por supuesto, podremos abrir cualquiera de ellos y comprobar que se han extraído de la tabla de Oracle perfectamente: