Diego Massara

Diego Massara

Analista de Datos - ML | SQL | Python | AWS | Power BI

Otros Artículos:

Cómo crear un directorio en Oracle SQL Developer para el envío de un fichero a un servidor

Compartir en linkedin
LinkedIn
Compartir en facebook
Facebook
Compartir en twitter
Twitter
Compartir en whatsapp
WhatsApp

Cuando trabajamos con bases de datos Oracle, a menudo surge la necesidad de gestionar archivos, ya sea para importar o exportar datos. Una de las formas más eficientes de hacerlo es utilizando un directorio en Oracle SQL Developer que apunte a un sistema de archivos, en este caso en particular, un servidor Linux. Este artículo te guiara a través de un proceso detallado de cómo crear un directorio en Oracle SQL Developer para el envío de un fichero a un servidor.

Paso 1: Conectar a la Base de Datos

  • Abre Oracle SQL Developer.
  • En la ventana de conexiones, selecciona o crea una nueva conexión a la base de datos en la que deseas crear el directorio.

Paso 2: Configuración del Entorno

Antes de empezar, asegúrate de que tienes acceso a Oracle SQL Developer y que tu usuario tiene los privilegios necesarios para crear directorios. También necesitarás tener acceso al servidor donde se almacenará el fichero.

  • Verificación de privilegios

Para verificar si tu usuario tiene los permisos necesarios, puedes ejecutar la siguiente consulta:

				
					SELECT * FROM USER_SYS_PRIVS WHERE PRIVILEGE IN (‘CREATE ANY DIRECTORY’, ‘READ ANY DIRECTORY’, ‘WRITE ANY DIRECTORY’); 
				
			

Si no tienes los privilegios, necesitaras solicitarlos al administrador de la base de datos.

 

Paso 3: Crear el Directorio en Oracle

Un directorio en Oracle es un objeto que mapea un nombre lógico a un directorio físico en el sistema de archivos del servidor. Para crear un directorio, ejecuta el siguiente comando SQL:

CREATE OR REPLACE DIRECTORY mi_directorio AS ‘/ruta/al/directorio’;

Asegúrate de que esta ruta sea accesible por el usuario de la base de datos.

Consideraciones sobre la ruta

  • Permisos en el sistema de archivos: Verifica que el usuario de Oracle tenga permisos de lectura y escritura en el directorio especificado en el servidor Linux. Esto puede implicar cambiar permisos con el comando chmod.
  • Directorio existente: Asegúrate de que la ruta que especificaste ya existe en el servidor, de lo contrario, recibirás un error al intentar crear el directorio.

 

Paso 4: Asignar Privilegios al Usuario

Una vez creado el directorio, necesitarás otorgar permisos al usuario que lo utilizará. Usa el siguiente comando:

				
					GRANT READ, WRITE ON DIRECTORY mi_directorio TO mi_usuario;
				
			

Reemplaza mi_usuario con el nombre del usuario que necesita acceso al directorio. Puedes verificar los privilegios asignados con la siguiente consulta:

				
					SELECT * FROM ALL_TAB_PRIVS WHERE TABLE_NAME = ‘MI_DIRECTORIO’;
				
			

Paso 5: Transferencia de Archivos al Servidor

Con el directorio creado y los permisos asignados, ahora puedes utilizar las funcionalidades de Oracle para escribir archivos en el sistema de archivos del servidor. Por ejemplo, puedes usar el paquete UTL_FILE para escribir datos en un fichero:

				
					DECLARE
  archivo UTL_FILE.FILE_TYPE;
BEGIN
  archivo := UTL_FILE.FOPEN('mi_directorio', 'nombre_fichero.txt', 'w');
  UTL_FILE.PUT_LINE(archivo, 'Este es un mensaje de prueba.');
  UTL_FILE.FCLOSE(archivo);
EXCEPTION
      WHEN OTHERS THEN
              DBMS_OUTPUT.PUT_LINE(‘Error: ‘ || SQLERRM);
END;

				
			

Explicación del bloque PL/SQL

  • FOPEN: Abre el archivo para escritura, si el archivo no existe, Oracle lo creara.
  • PUT_LINE: Escribe una línea de texto en el archivo.
  • FCLOSE: Cierra el archivo, asegurando que se guarden todos los cambios.
  • Manejo de errores: El bloque EXCEPTION captura cualquier error y lo imprime en la consola, lo que te ayudara a depurar problemas en caso de que algo falle.

 

Paso 6: Verificación en el Servidor

Ahora, dirígete al servidor, en este caso Linux y verifica que el fichero se ha creado en la ruta especificada. Puedes usar el comando ls para listar el contenido del directorio y revisar el fichero.

ls /ruta/al/directorio

De esta forma habremos obtenido una breve introducción al tema; hay muchas más funcionalidades y técnicas avanzadas que puedes explorar para enriquecer este proceso. Desde la manipulación de diferentes formatos de archivo hasta la implementación de control de errores más sofisticado y la automatización de tareas, las posibilidades son amplias. Te animo a investigar y experimentar más allá!

Muchas gracias por su atención.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Business Data Master Logo

No te pierdas el

WEBINAR
Gratuito

Explicaremos en detalle los contenidos y objetivos del Business Data Master

29/11/2021

18:30 (GTM+1)

Online

BUSINESS DATA MASTER

* Tu información será utilizada exclusivamente para contactarte en relación al Business Data Master. No hacemos spam ni compartimos datos con terceros.