Una aplicación habitual de MapForce es la migración de datos entre bases de datos MySQL y PostgreSQL. MapForce facilita esta tarea con herramientas de asignación de datos gráficas que tienen funciones de arrastrar y soltar. También incluyen una amplia variedad de filtros y funciones de procesamiento de datos para transformar los datos de origen.
El Asistente de Conexión a Bases de Datos de MapForce facilita la conexión. Las conexiones SQLite se admiten como conexiones nativas y directas al archivo de base de datos SQLite. No se necesitan controladores separados. Las conexiones PostgreSQL se admiten tanto como conexiones nativas como conexiones basadas en controladores a través de interfaces (controladores) como ODBC o JDBC. Las conexiones nativas no requieren controladores.
Al cargar las estructuras de las bases de datos MySQL y PostgreSQL en el panel de asignación, MapForce interpreta automáticamente los esquemas de las BD, permite elegir las tablas y vistas de las BD disponibles y reconoce las relaciones entre tablas.
Cuando termine de cargar todos los modelos de contenido necesarios para su asignación de datos de BD, conecte las estructuras de origen y destino mediante líneas de conexión.
Es fácil satisfacer los requisitos habituales de transformación de datos utilizando el método sin código de MapForce, por ejemplo:
En muchas asignaciones de datos de BD es necesario transformar los datos en base a condiciones booleanas o instrucciones SQL y SQL/XML. Quizás necesite realizar comparaciones lógicas, cálculos matemáticos y operaciones de cadena, buscar datos de la BD con un valor determinado y realizar muchas otras modificaciones en los datos. En la imagen anterior, puede ver que las funciones de procesamiento de datos aparecen en forma de recuadros entre las líneas de conexión que unen los modelos de contenido de origen y destino.
Las funciones de procesamiento permiten realizar avanzadas asignaciones de datos de BD para satisfacer los diferentes requisitos del proyecto.
Una vez termine de definir la asignación, puede obtener una vista previa de los resultados con un solo clic y guardarlos en un archivo gracias al motor integrado de MapForce.
Las asignaciones de datos MySQL a PostgreSQL dan lugar a scripts en formato SQL (p. ej. instrucciones SELECT, INSERT, UPDATE y DELETE) que se ejecutan en la BD de destino directamente desde MapForce.
Después de previsualizar la salida, tendrá la opción de automatizar el proceso de transformación de datos a través de MapForce Server.
El registro de resultados de BD facilita la tarea de hacer un seguimiento de todos los cambios que hace un proyecto de asignación en una base de datos PostgreSQL o MySQL al ejecutarse.
Al activar el seguimiento, acciones como las inserciones o actualizaciones de BD, o los errores, se guardan en un archivo XML que después puede seguir analizando o procesando de forma automatizada.
El seguimiento de BD se puede habilitar a distintos niveles: componente de BD, tabla de BD, procedimiento almacenado o campo de BD. Puede elegir entre hacer seguimiento de todos los mensajes o solamente de los errores, o puede desactivarlo por completo.
Una vez que haya seleccionado el nivel de seguimiento, el componente de DB del proyecto de asignación afectado se amplía y muestra el registro en una estructura XML. Si quiere que el archivo de seguimiento esté en un formato distinto al XML puede asignar datos desde el archivo hasta otro formato compatible con MapForce (por ejemplo, un archivos de texto u otra BD).
Al hacer clic en el botón Resultados para acceder a la vista previa del resultado de la asignación, se puede ver un ejemplo aproximado del aspecto que tendrá el archivo de seguimiento una vez se haya ejecutado la asignación.
MapForce también permite revertir la parte afectada de la conversión de BD, si se genera un mensaje de error, y seguir ejecutando el resto de la asignación.
A veces se genera un error que no impide que se siga ejecutando la asignación de BD, como cuando una restricción de la BD no permite que se inserten o actualicen datos que no son válidos.
Al habilitar las transacciones de BD se incluyen todos los cambios realizados por el componente de BD en una transacción que se puede revertir en caso de error; también puede elegir entre seguir ejecutando la asignación o detenerla. Puede habilitar las transacciones a nivel de componente de BD y a nivel de acción de tabla.
Esta opción es útil si quiere capturar los datos entrantes válidos e ignorar los no válidos.
Para complementar sus funciones de asignación e integración de datos de BD, MapForce incluye una función de consulta de base de datos. Al conectarse a una base de datos desde la pestaña "Consulta de la BD", MapForce muestra las tablas de la BD en forma de árbol en el panel del explorador. MapForce no solo migra MySQL y PostgreSQL. Disponemos de apoyo especializado para:
Después puede usar la pestaña del editor SQL para visualizar, editar y ejecutar instrucciones SQL, ya sea abriendo archivos SQL ya existentes o creando instrucciones SQL desde cero gracias a la función de arrastrar y colocar, así como la función de autocompletar.
Puede ejecutar el script SQL y ver los resultados en formato tabular y guardar tanto los datos recuperados como el script SQL por separado en archivos diferentes.
En MapForce puede configurar de qué forma se añaden valores de clave principal y foránea en la base de datos que es el destino de la asignación de datos. Puede ofrecer valores para las claves desde MapForce o dejar que el sistema de la base de datos genere valores automáticamente.
En casos en los que las relaciones de clave principal o de clave foránea no están definidas explícitamente en las tablas de la BD, MapForce permite definir estas relaciones de modo inline, es decir, sin que surta efecto en los datos de origen.
Cuando asigne datos a una base de datos, MapForce le permite seleccionar acciones de tabla de la base de datos para controlar cómo se escriben los datos en la base de datos MySQL o PostgreSQL. Esto ofrece una total flexibilidad a la hora de automatizar las tareas de gestión de datos más avanzadas.
En el sencillo cuadro de diálogo "Acciones de tabla de la base de datos" podrá definir las columnas de la tabla seleccionada para determinar qué acción se debe ejecutar en la base de datos (INSERT, UPDATE, DELETE).
Esto le ofrece una flexibilidad incomparable a la hora de manipular filas de bases de datos como respuesta a datos XML, EDI, XBRL, archivos planos, Excel, JSON, JSON5, servicios web y otros datos de base de datos con MapForce.
En MapForce puede usar procedimientos almacenados como componentes de entrada (si ofrecen resultados) o de salida (si insertan o actualizan datos). Incluso puede insertarlos como llamadas de tipo función. Así podrá introducir datos de entrada, ejecutar el procedimiento y leer/asignar los datos de salida a otros componentes.
La captura de pantalla muestra una asignación de un procedimiento almacenado en SQL Server para crear un archivo XML. El procedimiento devuelve como parámetro de entrada una tabla con todos los gerentes de la cadena de mando que están por encima del ID de empleado (la constante 67).
El parámetro se puede suministrar como valor calculado o como elemento de datos recuperado de otra parte de la BD.
MapForce ofrece un menú contextual con una opción para ejecutar el procedimiento y mostrar la estructura de datos. Al ejecutarse la asignación de la imagen se genera el documento XML de salida.
Las consultas SQL que operan dentro de las bases de datos no son siempre suficientes a la hora de realizar tareas complejas de asignación de datos. MapForce ofrece más funciones de ordenación mediante el componente WHERE/ORDER de SQL.
El cuadro de diálogo "Acciones de tabla de base de datos" permite comparar valores NULL. Este tipo de comparación permite trabajar más fácilmente con bases de datos que contienen valores nulos. Las asignaciones de datos de MapForce se pueden configurar de modo que la comparación de datos tenga en cuenta los valores NULL y en función de las reglas correspondientes al tipo de base de datos usado en la asignación.
La asignación de datos que puede verse a la derecha sirve para actualizar la tabla de destino sin introducir entradas duplicadas. Ambas tablas están definidas para permitir que el campo email sea NULL. Es decir, en cada tabla podrá haber entradas name equivalentes con campos email de valor NULL.
Al hacer clic en el icono Acciones situado junto a la tabla de la base de datos de destino, se abre el cuadro de diálogo "Acciones de tabla de base de datos". La casilla "NULL equal" situada junto al campo email hace que MapForce trate los valores NULL del origen y del destino como iguales, aunque las reglas de la base de datos no los considere iguales.
Altova MapForce Server incluye un motor de transformación de datos integrado desarrollado para MapForce y mejorado para entornos servidor. MapForce Server realiza transformaciones de datos PostgreSQL en MySQL o cualquier combinación de bases de datos, XML, EDI, XBRL, archivos planos, Excel, JSON y servicios web a partir de asignaciones de datos optimizadas y procesadas previamente y almacenadas en archivos de ejecución basados en asignaciones de datos diseñadas en MapForce. Las transformaciones de datos de MapForce Server alcanzan un nivel superior gracias a funciones de procesamiento en paralelo y subprocesos, operaciones SQL Merge masivas, compatibilidad con múltiples plataformas y mucho más.
Al estar procesadas de antemano, las asignaciones tienen mayor rendimiento y menor consumo de memoria. MapForce Server puede usarse bajo el control de FlowForce Server, con una configuración independiente que se ejecuta desde la línea de comandos o mediante programación con una API.
Tras diseñar y probar su asignación de MapForce, puede ejecutarla con MapForce Server para automatizar procesos de negocio que requieran transformaciones de datos periódicas.
MapForce procesa y optimiza asignaciones de datos, las almacena en archivos de ejecución para ejecutarlos en la línea de comandos de MapForce Server y las carga en trabajos de FlowForce Server.
Cuando se opera MapForce Server bajo la dirección de FlowForce Server, las asignaciones de datos se ejecutan como pasos de un trabajo de FlowForce Server, en función de los desencadenadores que se definieran en el trabajo. Por ejemplo, un documento XBRL nuevo llega a un directorio, lo cual desencadena un trabajo de FlowForce de múltiples pasos que primero valida el archivo con RaptorXML+XBRL Server y después lo ejecuta con MapForce Server para extraer ciertos datos e insertar los datos extraídos en una base de datos.