Excel To Database: Importación masiva rápida para SQL Server y Oracle
Que pesadilla
Cuando alguien nos viene con un Libro Excel para cargar en una base de datos ..., enseguida nos vienen a la cabeza varias cosas:
- El dolor de cabeza que supone cargar un Libro Excel en una base de datos.
- La persona que nos da el Libro Excel no suele tener ni la más remota idea de qué es una base de datos.
- Rezar para que no tenga demasiadas filas.
- Si va a ser un proceso repetitivo, pedir, por favor, que entreguen ficheros planos, tipo ".csv" y con el formato correcto.
Enseguida nos ponemos a buscar por internet y podemos encontrar, entre otras, las siguientes posibilidades:
- Convertir el Libro Excel a ficheros ".csv" y luego cargar dichos ficheros planos:
- Horror, vamos a tener que guardar cada hoja como un .csv independiente y probablemente de forma manual.
- Horror, el Libro Excel contiene textos con saltos de línea.
- Horror, he de crear una macro para formatear las celdas y poder realizar una buena exportación a .csv.
- Horror, los cargadores de .csv para Oracle y SQL Server, por ejemplo, producen muchísimos dolores de cabeza.
- Utilizar herramientas tipo SQLizer:
- Horror, la versión no comercial sólo maneja 5000 líneas.
- Horror, me genera una sentencia INSERT por cada línea, con lo que será muy lento. Para SQL Server y Oracle hay alternativas más rápidas.
- Horror, los tipos deducidos de la Hoja Excel no coinciden con los de la tabla de la base de datos.
- Usar Dropbase para crear una base de datos instantánea:
- Horror, vuelvo al tema de cargar .csv.
- Horror, hay un límite de 50MB.
- Usar los asistentes para la importación de datos proporcionados por Microsoft, Oracle, etc.:
- Horror, definir la carga es tedioso y horroroso.
- Horror, es lentísimo.
- Horror, tras esperar horas se paran en el primer fallo (sin dar ninguna explicación) y no continúan.
- Horror, es muy posible que necesite tener instalado el motor de Microsoft Access.
- Horror, tengo problemas entre los 32 y 64 bits.
La solución
Se acabaron tus problemas. Excel To Database va a hacer todo el trabajo por tí: tú sólo lo supervisarás y harás correcciones puntuales.
- No tiene límite de tamaño.
- Es sumamente rápido en SQL Server y Oracle.
- Se pueden ejecutar las cargas desde línea de comandos. Resulta muy fácil la programación de tareas de carga.
- Asignación de mapeos entre columnas basadas en el nombre.
- La carga de datos no se para con el primer error de datos encontrado, sino que informa de todos ellos para poder corregirlos.
- Posibilidad de no cargar las celdas que contienen errores.
- Posibilidad de no cargar las celdas que producen errores en la conversión de datos.
Excel To Database es la herramienta definitiva para importar Libros Excel a base de datos de forma automática. Olvídate de los errores manuales al migrar archivos Excel a SQL Server, Oracle o MS Access. Nuestra solución optimiza el flujo de datos, garantizando integridad y rapidez en cada carga.
Estrategia de carga de datos
Muchos cargadores de datos realizan en una fase previa a la carga un análisis de los datos contenidos en la Hoja Excel. Sin embargo, no utilizan todos los datos, sino que suelen realizar un análisis de un número limitado de filas. Evidentemente esto provoca que fallen más que una escopeta de feria, que nos duela la cabeza, y que tengamos que manipular el cargador con paciencia y mucho cuidado. Posteriormente, durante la carga de datos, suelen realizar las lecturas e inserciones de los datos fila a fila, deteniéndose en el primer error encontrado, lo cual obliga a volver a realizar correcciones en la parametrización del cargador o corregir el dato. Este proceso llega a ser tedioso, lento y frustrante.
El enfoque de Excel To Database es diferente:
- Obtiene los campos de la tabla y el tipo de datos de cada campo.
-
Lectura de los datos contenidos en la Hoja Excel. Comprobación de los datos, realización de las conversiones oportunas y realización de las correcciones indicadas en la parametrización de la carga.
Durante esta fase, se muestran al usuario toda la información necesaria con respecto a los problemas de los datos para que pueda redefinir la parametrización del cargador, o bien, corregir los los datos para que puedan ser cargados.
- Carga de los datos en la base de datos mediante métodos de carga masiva (SQL Server y Oracle), o bien, con la utilización de cargadores personalizados muy rápidos que insertan los datos fila a fila para proveedores de datos ODBC y OLE DB.