Tablas externas en Oracle

Enviar por email 'Tablas externas en Oracle' a un amigo

* Required Field






Separate multiple entries with a comma. Maximum 5 entries.



Separate multiple entries with a comma. Maximum 5 entries.


E-Mail Image Verification

Loading ... Loading ...

23 thoughts on “Tablas externas en Oracle

  1. Hola a todos, implementamos oracle_loader en una aplicacion y la carga de datos funciona a la perfeccion, pero para las lineas que tienen error el archivo de log se genera pero cuando dichos errores estan en lineas superiores a 30.000 o 40.000 aprox, los números de lineas informadas en el archivo .log son incorrectas. Por ej: si el error esta en la linea 30.000 informa la linea 30.010 o 30.020, etc.

    ¿Alguien tiene idea por que sucede esto?

    Muchisimas gracias.

  2. @probando

    Table created.

    SQL> describe tabla_externa;
    Name Null? Type
    —————————————– ——– —————————-
    CLI_ID VARCHAR2(50)
    CONTRATO VARCHAR2(50)
    TELEFONO VARCHAR2(50)
    NO_SERIE VARCHAR2(50)

    SQL> select * from tabla_externa;
    select * from tabla_externa
    *
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-04063: unable to open log file tabla_externa.log
    OS error Permission denied
    ORA-06512: at “SYS.ORACLE_LOADER”, line 19

    cuando voy a consultar los datos de la tabla me sale lo siguiente.

  3. Necesito cargar archivos planos a oracle… leí sobre las tablas externas y me parece interesante y práctico, pero los nombres de mis archivos no son fijos, además en un paquete quise crear la tabla externa pero no me permite… necesito permisos?… por favor me pueden ayudar?

  4. El error parece obvio te falta el archivo. O esta con otro nombre… a mi me paso que me lo comprimieron y me dio un error similar.

  5. select * from empleados_ext;

    Estimados amigos tengo este error podrian ayudarme…?
    Gracias por la atencion…

    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-04063: unable to open log file empleados.log
    OS error El sistema no puede encontrar el archivo especificado.
    ORA-06512: at “SYS.ORACLE_LOADER”, line 19

  6. me parece rara tu pregunta, como mostrar los registros con error que no muestra por que tienen errores, mmmm, lee de nuevo el post, creo que una segunda leidita te solucionara el problema, saludos

  7. una onsulta tengo un archivo plano con errores, pero cuando yo le hago select a la tabla externa esta solo me muestra los registros que estan bien y no los que estan con errores como podria hacer para que me muestre estos registros tambien en el sl loader

    atte

  8. no lo recuerdo bien pero busca en el diccionario las tablas que contienen la informacion sobre directories, seguramente existe una dba_directories o alguna asi, saludos

  9. Cual puede ser la instruccion para poder ver la ruta que se ha puesto para almacenar los ficheros externos?.
    No lo quiero cambiar, pero no se cuál es la ruta que se creó en su día.
    Cómo sería la sentencia?

  10. si no te los inserta lo unico que se me ocurre es que los datos sean alfanumericos y tu pienses que son numericos, si no, de plano mejor usa la tabla externa solo de paso a la final, y de la externa a la final usa un to_number() para insertar los datos

  11. La duda anterior ya la he solucionado!!! Mi duda ahora viene porque al crear la tabla con tipos distintos a VARCHAR2() no me los inserta, para que me los inserte deben ser de ese tipo…pero yo quiero que mantenga mi tipo de datos (number, date..etc..).

    GRACIAS!!

  12. Hola, qué tal? Mi problema es que al dar privilegios a un usuario no me deja porque yo mismo me los estoy dando, y me muestra un error..Pensareís que cambie de usuario…pero como? Como se crea un nuevo usuario?? Estoy utilizando Oracle 10g Release 2, y mi usuario es SYSTEM xq tampoco me dió opción a elegir otro..que puedo hacer????

    Muchas gracias de antemano!!

  13. creo que tu duda viene de: una cosa es una herramienta de oracle llamada sqlloader para carga masiva de informacion a la base de datos y otra las tablas externas, las tablas externas usan una sintaxis casi identica a la de sqlloader, su ventaja es precisamente como comento en el post es poder accesar a ellas con sentencias sql como a cualquier otra tabla, pero la informacion como tal de esa tabla esta contenida en el archivo, no es cargada a oracle por “default” por asi decirlo en cambio con sqlloader si cargas la informacion a la base de datos

  14. Para quien pidio informacion, a cerca de como usar BULK INSERT, para mi esta a sido una muy buena herramienta para cargarme los datos de ficheros creados en excel, a mis tablas de SQL_SERVER, aun que este no es un foro de SQL_SERVER, te voy a poner la sintaxis para hacerlo, es sumamente sencillo.

    BULK INSERT database_name . Owner . table_name
    FROM ‘path\data_file.txt’
    WITH
    FIELDTERMINATOR = ‘,’
    ROWTERMINATOR = ‘\n’

    Listo!! con 5 sencillas lineas te cargas el contenido del data_file.txt en tu table_name, ojo…si usas excel, guardate el achivo como tipo csv, para que te lo delimite por comas, y depues lo grabas como txt. y lo cargas.

    Ahora para los masters de Oracle….de este foro… si yo ya tengo creada mi tabla y con datos, onde rayos le indico con esa serie de instrucciones que dieron…en que tabla quiero que se vacie el fichero??????? es decir, no requiero crear la tabla, asi que no puedo empezar el codigo desde ahi, y si lo empiezo desde la parte:

    organization EXTERNAL (
    type oracle_loader
    default directory EXTERNAL_TABLES
    access parameters
    ( records delimited by newline
    skip 1
    badfile ‘tabla_externa.bad’
    logfile ‘tabla_externa.log’
    fields terminated by ‘,’
    missing field values are null
    )
    location (‘tabla_externa.txt’)
    )
    reject limit unlimited;

    en que parte le diria, a que tabla quiero que inserte los datos del Archivo externo.

  15. “desde el sql server 2000” jejeje creo que andas medio perdido heee? este post habla sobre oracle y yo no conosco sql server, mejor buscale en google, saludos

  16. hola por favor necesito ayuda
    he intentado pero no funciona quisiera que me envie la sintaxis correcta sobre bulk insert para que extenciones trabaja y si esta desde el sql server 2000 muchas gracias de antemana
    atte
    sandra

  17. Buenas, el asunto es lo siguiente: yo me he decidido a usar sqlldr y lo comprendo y funciona bien si los datos que quiero llevar a BBDD estan separados por algún caracter tipo “,” “·” o lo que sea. Ahora bien el problema lo tengo porque no se que demonios poner si los datos estan separados por un tabulador. Porfavor si sabes como hacerlo comentamelo plz. Gracias

Comments are closed.