Un'applicazione comune di MapForce è la migrazione dei dati tra i database MySQL e PostgreSQL. MapForce semplifica questo processo grazie a strumenti grafici intuitivi, che consentono di mappare i dati tramite semplici operazioni di trascinamento e rilascio, e include una vasta libreria di filtri e funzioni di elaborazione dei dati per trasformare i dati di origine.
L'utilità "Database Connection Wizard" in MapForce semplifica la connessione ai database. Le connessioni a SQLite sono supportate come connessioni dirette e native al file del database SQLite. Non sono necessari driver aggiuntivi. Le connessioni a PostgreSQL sono supportate sia come connessioni native, sia tramite driver, utilizzando interfacce come ODBC o JDBC. Le connessioni native non richiedono alcun driver.
Quando si caricano le strutture dei database MySQL e PostgreSQL nel pannello di mappatura, MapForce interpreta automaticamente gli schemi del database, consente di selezionare le tabelle e le viste disponibili e riconosce le relazioni tra le tabelle.
Una volta caricati tutti i modelli di dati necessari per la mappatura del database, completate la mappatura semplicemente trascinando delle linee di collegamento tra le strutture di origine e di destinazione.
Utilizzando l'approccio no-code di MapForce, è facile soddisfare le comuni esigenze di trasformazione dei dati, ad esempio:
Molte mappature di database richiedono la trasformazione dei dati tra la sorgente e la destinazione, basandosi su condizioni booleane o istruzioni SQL e SQL/XML. Potrebbe essere necessario eseguire confronti logici, calcoli matematici o operazioni su stringhe, verificare la presenza di dati specifici nel database e apportare altre modifiche ai dati. Nello screenshot mostrato, le funzioni di elaborazione dei dati sono rappresentate dai riquadri situati tra le linee che collegano il modello di dati di origine e quello di destinazione.
Le funzioni di elaborazione dati consentono di eseguire mappature avanzate di database in tempo reale, per soddisfare una vasta gamma di esigenze di trasformazione dei dati.
Una volta definita la mappatura, il motore MapForce integrato consente di visualizzare e salvare i risultati con un semplice clic.
La mappatura da MySQL a PostgreSQL genererà un output sotto forma di script SQL (ad esempio, istruzioni SELECT, INSERT, UPDATE e DELETE) che verranno eseguiti direttamente sulla vostra base di dati di destinazione, all'interno di MapForce.
Dopo aver visualizzato l'output, avrete la possibilità di automatizzare il processo di trasformazione dei dati tramite MapForce Server.
La funzionalità di tracciamento dell'output del database semplifica la registrazione di tutte le modifiche apportate da un progetto di mappatura al database PostgreSQL o MySQL durante l'esecuzione del processo di mappatura.
Quando la funzionalità di tracciamento è attiva, eventi come le operazioni di inserimento o aggiornamento nel database, oppure gli errori, vengono registrati in un file XML che è possibile analizzare in seguito o elaborare ulteriormente in modo automatizzato.
La tracciatura del database può essere attivata a livello di componente del database, tabella, procedura memorizzata o campo del database. È possibile scegliere di tracciare tutti i messaggi o solo gli errori, oppure è possibile disabilitare completamente la tracciatura.
Una volta selezionato il livello di tracciamento desiderato, il componente del database interessato nel progetto di mappatura viene arricchito con un albero XML che mostra la struttura del log. Se si preferisce che il file di log sia in un formato diverso da XML, è possibile mappare i dati da esso a un altro formato supportato da MapForce (ad esempio, un file di testo o persino un altro database).
Quando si clicca sul pulsante "Output" per visualizzare l'anteprima del risultato della mappatura, è possibile vedere anche un esempio di come apparirà il registro delle operazioni quando la mappatura verrà eseguita.
MapForce offre anche la gestione delle transazioni del database, consentendo di annullare le modifiche apportate alla parte interessata della conversione del database in caso di errore, e, facoltativamente, di proseguire con il resto della mappatura.
A volte si verifica un errore che non impedisce il completamento del resto della mappatura del database, ad esempio quando alcune restrizioni del database impediscono l'inserimento o l'aggiornamento di dati non validi.
L'abilitazione della gestione delle transazioni del database racchiuderà tutte le modifiche apportate dal componente database all'interno di una transazione, che verrà annullata in caso di errore. È possibile scegliere di procedere con il resto della mappatura oppure interrompere l'ulteriore esecuzione della mappatura. È possibile abilitare le transazioni a livello del componente database e a livello di azione sulla tabella.
Questo è molto utile quando il progettista della mappatura desidera acquisire solo i dati in ingresso validi e ignorare semplicemente i dati non validi.
Per integrare le sue funzionalità di mappatura e integrazione di database, MapForce include una scheda "Query del database" per eseguire query dirette sui database. Quando ci si connette a un database tramite la scheda "Query del database", MapForce visualizza le tabelle del database in una struttura ad albero gerarchica nella finestra del browser. MapForce non si limita a migrare database MySQL e PostgreSQL. È disponibile un supporto specializzato per:
Potete quindi utilizzare la scheda dell'editor SQL per visualizzare, modificare ed eseguire istruzioni SQL, sia aprendo file SQL esistenti, sia creando nuove istruzioni SQL partendo da zero, utilizzando le funzionalità di trascinamento e rilascio e il completamento automatico.
È possibile eseguire il proprio script SQL e visualizzare i risultati in forma tabellare, nonché salvare sia i dati recuperati che lo script SQL separatamente, in file distinti.
Le impostazioni delle chiavi del database in MapForce consentono di personalizzare il modo in cui i valori delle chiavi primarie e secondarie verranno aggiunti a un database che è l'obiettivo della mappatura dei dati. È possibile fornire i valori delle chiavi direttamente all'interno di MapForce, oppure è possibile lasciare che il sistema di database gestisca la generazione automatica di questi valori.
In situazioni in cui le relazioni di chiave primaria e/o chiave esterna non sono definite esplicitamente nelle tabelle del database, MapForce consente di definire queste relazioni direttamente, senza alterare i dati di origine.
Quando si effettua una mappatura verso un database, MapForce consente di selezionare le azioni relative alle tabelle del database per controllare come i dati vengono scritti nel database MySQL o PostgreSQL. Questo offre la massima flessibilità per automatizzare anche le attività di gestione dei dati più complesse.
La finestra di dialogo "Azioni sulla tabella del database", facile da usare, consente di definire le colonne all'interno della tabella selezionata, che verranno utilizzate per determinare quale azione (INSERIMENTO, AGGIORNAMENTO, ELIMINAZIONE) deve essere eseguita nel database.
Questo offre una flessibilità senza precedenti nella manipolazione delle righe del database in risposta a dati XML, dati di database, EDI, XBRL, file di testo, Excel, JSON, JSON5, servizi web o altri dati di database, grazie a MapForce.
MapForce offre un supporto completo per le stored procedure, che possono essere utilizzate come componenti di input (procedure che forniscono risultati) o come componenti di output (procedure che inseriscono o aggiornano dati). In alternativa, le stored procedure possono essere utilizzate come chiamate di funzioni, consentendo agli utenti di fornire dati di input, eseguire la stored procedure e leggere/mappare i dati di output ad altri componenti.
Questa schermata mostra la mappatura di una stored procedure in SQL Server utilizzata per creare un file XML. La procedura restituisce una tabella di dati che mostra tutti i dirigenti nella gerarchia superiore all'ID del dipendente specificato, fornito come parametro di input: in questo esempio, il valore costante 67.
Il parametro può essere fornito anche come valore calcolato o come elemento dati recuperato da un'altra parte del database.
MapForce offre un menu contestuale che consente agli utenti di eseguire la stored procedure per visualizzare la struttura dei dati da mappare. L'esecuzione della mappatura illustrata genera l'output XML.
Le query SQL che operano all'interno del database non sono sempre sufficienti per attività di mappatura dati complesse. MapForce offre funzionalità aggiuntive di ordinamento dei dati tramite il componente SQL-WHERE/ORDER per l'input da database che richiedono un'elaborazione aggiuntiva, oppure quando altri dati o condizioni nella mappatura influenzano l'ordine di ordinamento delle righe di dati.
La finestra di dialogo "Azioni sulla tabella del database" supporta il confronto dei valori NULL. I confronti che tengono conto dei valori NULL offrono un modo più efficace per gestire database che contengono tali valori. Gli utenti di MapForce possono configurare una mappatura del database in modo che il confronto dei dati venga eseguito tenendo conto dei valori NULL, in base a regole applicabili al tipo di database coinvolto nella mappatura.
La mappatura dei dati mostrata a destra è progettata per aggiornare la tabella di destinazione senza inserire voci duplicate. Entrambe le tabelle sono definite in modo da consentire che il campo "email" possa essere vuoto (NULL), quindi potrebbero esistere voci con lo stesso nome ma con campi "email" vuoti in ciascuna tabella.
Cliccando sull'icona "Azioni" accanto alla tabella del database "TARGET", si apre la finestra di dialogo "Azioni del database". La casella di controllo "Uguale a NULL" accanto al campo email consente a MapForce di considerare i valori NULL presenti nei dati di origine e di destinazione come equivalenti ai fini della mappatura dei dati, anche se, secondo le regole del database, non sono considerati uguali.
Altova MapForce Server include il motore di trasformazione dati integrato, sviluppato per MapForce, ed è stato notevolmente migliorato per funzionare in ambienti server. MapForce Server esegue.. trasformazioni dei dati per convertire dati da PostgreSQL a MySQL o in qualsiasi combinazione di formati come XML, database, EDI, XBRL, file di testo, Excel, JSON, Shopify e/o servizi web, utilizzando mappature dati pre-elaborate e ottimizzate, memorizzate in file di esecuzione e basate sulle mappature definite in MapForce. MapForce Server porta la trasformazione dei dati a un livello superiore, grazie a funzionalità server che includono l'elaborazione parallela, il multi-threading, l'inserimento massivo di dati SQL, il supporto multipiattaforma e molto altro.
La pre-elaborazione consente prestazioni più rapide e una minore quantità di memoria utilizzata per la maggior parte delle trasformazioni dei dati. MapForce Server opera sotto la gestione di FlowForce Server, in una configurazione autonoma, eseguibile da riga di comando o programmaticamente tramite un'API.
Una volta progettata e testata una mappatura MapForce, questa può essere eseguita dal server MapForce per automatizzare i processi aziendali che richiedono trasformazioni ripetitive dei dati.
MapForce esegue una pre-elaborazione e ottimizzazione delle mappature dei dati, le memorizza in file di esecuzione del server MapForce per l'esecuzione da riga di comando tramite il server MapForce, e le carica per essere utilizzate nei processi di FlowForce Server.
Quando MapForce Server opera sotto la gestione di FlowForce Server, le mappature dei dati vengono eseguite come passaggi di un processo di FlowForce Server, in base a trigger definiti all'interno del processo stesso. Ad esempio, un nuovo documento XBRL viene caricato in una directory, il che attiva un processo multi-step di FlowForce Server che, innanzitutto, convalida il file utilizzando RaptorXML+XBRL Server, per poi eseguire MapForce Server per estrarre determinati dati dall'XBRL e inserirli in un database.






