En este post compartimos una solución a un problema que surge al intentar cargar archivos planos con Oracle Warehouse Builder usando external table.
Si intentamos cargar un archivo simple con el formato:
No encontramos problema al hacer sampling del archivo en OWB, el wizard nos reconoce sin problema las tres columnas.
Luego creamos el external table sobre el archivo importado, también sin problema. Configuramos los archivos de Log para que sepamos qué sucede cuando SQL Loader hace la carga del archivo.
Al hacer deploy de la external table, ya deberíamos poder hacer un query sobre la tabla externa para visualizar los datos que contiene el archivo y efectivamente lo podemos hacer.
Ahora hagamos un cambio que generalmente nos sucede en ambientes reales, y es que tengamos la última columna vacía.
Salvamos el archivo y volvemos a hacer el query sobre la tabla externa y vemos que nos arroja un resultado diferente.
Revisamos el log de la tabla externa y vemos el mensaje:
KUP-04021: field formatting error for field COLUMNA3
KUP-04023: field start is after end of record
KUP-04101: record 2 rejected in file E:\pruebas\prueba1.csv
KUP-04021: field formatting error for field COLUMNA3
KUP-04023: field start is after end of record
KUP-04101: record 3 rejected in file E:\pruebas\prueba1.csv
Probamos varias soluciones temporales que funcionaron como colocar un separador de columna al final del archivo, colocar una columna no vacía al final del archivo, entre otras.
Sin embargo la solución afortunadamente es mucho más sencilla y es marcar el check de "Load Nulls when Missing Values" en la ventana de configuración del external table.
Con este cambio, reemplazamos la external table y ejecutamos el mismo query y ya está:
Nos trae todos los registros aunque la última columna venga vacía.
Saludos.
Nota: Post aportado en conjunto por Pedro Gómez y Darío Valderrama, sales consultants de Oracle Direct.
1 comentario:
Soy de guatemala muy interesante post. Lo estoy leyendo hasta ahorita pero me intereso mucho. Encontre tambien un documento que elaboro Dario Valderrama sobre Oracle Business Intelligence. Me gustaria saber si me pudieran mandar su correo para escribirle y hacerle algunas consultas que me puedan ayudar mucho. Gracias
danielcallejas@hotmail.com
Publicar un comentario