sql*loader

olga
28 de Junio del 2004
Hola, necesito cargar en una tabla un fichero plano de 2GB. No tengo el sql*loader. Me lo puedo descargar gratuitamente de algun sitio? Puedo utilizar alguna otra herramienta? Existe alguna sentencia ejecutable en el toad o en el sql plus de carga??
Gracias

Jos?
28 de Junio del 2004
Si tienes instalado Oracle deberías tener el SQL Loader. Sino lo tienes mira en los discos de instalación de Oracle y vuelve a instalarlo.

Otra opción sería pasarlo a Access o SQL Server (con DTS o algo parecido) y de ahí a Oracle.

Por cierto, yo intente con un fichero plano de 450 mb y era horroroso cuadrar los campos por lo pesado q era manipular el fichero. Al final lo pase a SQL Server con DTS y luego a Oracle con DTS.

Suerte

vmarquez
28 de Junio del 2004
quiza no tienes instalado sql loarder como cliente, lo deberias teners instalado en el servidor $ORACLE_NOM/bin, en tu servidor

Rick
28 de Junio del 2004
Si no podes por alguna raon usar el sql*loader, proba utilizando el package utl_file que permite leer y escribir en directorios del servidor.

Ejemplo:

declare
idarch utl_file.file_type;
arch varchar2(30);
begin
-- Directorio de lectura, debe estar incluido
-- en el parametro utl_file_dir del inicio de
-- la base
dir_in := \\'/dir\\';

-- Nombre del archivo a abrir
-- debe estar en el mencionado directorio

arch := \\'ejem.txt\\';

-- Guarda el puntero de apertura del archivo
-- lo abre para lectura \\'r\\'
idarch := utl_file.fopen (dir, arch, \\'r\\');

-- Lee un registro del archivo en variable reg
utl_file.get_line (idarch, reg);

-- Ejecutar aqui la separacion del registro
-- en campos segun la estructura del registro

-- Cierra el archivo
utl_file.fclose (idarch);
end;