Condividi tramite


Creazione di file di script (MySQLToSQL)

Il primo passaggio prima di avviare l'applicazione console SSMA consiste nel creare il file di script e, se necessario, creare il file del valore della variabile e il file di connessione del server.

Il file di script può essere suddiviso in tre sezioni, viz..,:

  1. config: consente all'utente di impostare i parametri di configurazione per l'applicazione console.

  2. servers: consente all'utente di impostare le definizioni del server di origine/di destinazione. Può anche trovarsi in un file di connessione server separato.

  3. script-commands: consente all'utente di eseguire comandi del flusso di lavoro SSMA.

Ciascuna sezione è descritta in dettaglio di seguito:

Configurazione della console MySQL Impostazioni

Le configurazioni di uno script vengono visualizzate nel file di script della console.

Se uno degli elementi viene specificato nel nodo di configurazione, questi vengono impostati come impostazione globale, ovvero sono applicabili per tutti i comandi script. Questi elementi di configurazione possono essere impostati anche all'interno di ogni comando nella sezione script-command se l'utente vuole eseguire l'override dell'impostazione globale.

Le opzioni configurabili dall’utente includono:

  1. Provider finestra di output: se l'attributo suppress-messages è impostato su "true", i messaggi specifici del comando non vengono visualizzati nella console. Di seguito è riportata la descrizione attributi:

    • destination: specifica se l'output deve essere stampato in un file o stdout. Per impostazione predefinita, questo valore è false.

    • file-name: percorso del file (facoltativo).

    • suppress-messages: elimina i messaggi nella console. Per impostazione predefinita, questo valore è 'false'.

    Esempio:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Provider di Connessione di migrazione dei dati: specifica quale server di origine/destinazione deve essere considerato per la migrazione dei dati. Source-use-last-used indica che l'ultimo server di origine usato viene usato per la migrazione dei dati. Analogamente, target-use-last-used indica che l'ultimo server di destinazione usato viene usato per la migrazione dei dati. L'utente può anche specificare il server (origine o destinazione) usando gli attributi source-server o target-server.

    È possibile usare solo uno o l'altro attributo specificato, ad esempio:

    • source-use-last-used="true" (impostazione predefinita) o source-server="source_servername"

    • target-use-last-used="true" (impostazione predefinita) o target-server="target_servername"

    Esempio:

    <output-providers>  
    
      <data-migration-connection  source-use-last-used="true"  
    
                                  target-server="<target-server-unique-name>"/>  
    
    </output-providers>  
    

    or

    <migrate-data>  
    
      <data-migration-connection   source-server="<source-server-unique-name>"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Popup input utente: consente la gestione degli errori, quando gli oggetti vengono caricati dal database. L'utente fornisce le modalità di input e, in caso di errore, la console procede come specificato dall'utente.

    Questi passaggi includono:

    • ask-user: richiede all'utente di continuare ('sì') o di generare un errore ('no').

    • error- La console visualizza un errore e interrompe l'esecuzione.

    • continue- La console procede con l'esecuzione.

    Il valore predefinito è error.

    Esempio:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    or

    <!-- Connect to target database -->  
    
    <connect-target-database server="<target-server-unique-name>">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Provider di riconnessione: consente all'utente di impostare le impostazioni di riconnessione in caso di errori di connessione. Può essere impostato sia per i server di origine che per i server di destinazione.

    Le modalità di riconnessione sono:

    • reconnect-to-last-used-server: se la connessione non è attiva, tenta di riconnettersi all'ultimo server usato al massimo 5 volte.

    • generate-an-error: se la connessione non è attiva, viene generato un errore.

    La modalità predefinita è generate-an-error.

    Esempio:

    <output-providers>  
    
    <reconnect-manager  on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                        on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    or

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    or

    <!--data migration-->  
    
    <migrate-data server="target-server-unique-name">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. Provider di sovrascrittura convertitore: consente all'utente di gestire gli oggetti già presenti nella metabase di destinazione. Le azioni possibili includono:

    • error: nella console viene visualizzato un errore e viene interrotta l'esecuzione.

    • overwrite: sovrascrive i valori degli oggetti esistenti. Questa azione viene eseguita per impostazione predefinita.

    • skip: la console ignora gli oggetti già esistenti nel database

    • ask-user: richiede all'utente l'input ('yes'/ 'no')

    Esempio:

    <output-providers>  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </output-providers>  
    

    or

    <convert-schema object-name="<object-name>">  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </convert-schema>  
    
  6. Provider prerequisiti non riusciti: consente all'utente di gestire tutti i prerequisiti necessari per l'elaborazione di un comando. Per impostazione predefinita, strict-mode è "false". Se è impostata su "true", viene generata un'eccezione per il mancato rispetto dei prerequisiti.

    Esempio:

    <output-providers>  
    
      <prerequisites strict-mode="<true/false>"/>  
    
    </output-providers>  
    
  7. Arresta operazione: durante l'operazione intermedia, se l'utente vuole arrestare l'operazione, è possibile usare il tasto di scelta rapida "CTRL+C". SSMA per la console MySQL attenderà il completamento dell'operazione e terminerà l'esecuzione della console.

    Se l'utente vuole interrompere immediatamente l'esecuzione, il tasto di scelta rapida "CTRL+C" può essere premuto di nuovo per la chiusura brusca dell'applicazione console SSMA

  8. Provider di stato: informa sullo stato di avanzamento di ogni comando della console. Questa opzione è disabilitata per impostazione predefinita. Gli attributi di creazione di report sullo stato di avanzamento includono:

    • spento

    • ogni-1%

    • ogni-2%

    • ogni-5%

    • ogni-10%

    • every-20%

    Esempio:

    <output-providers>  
    
      <progress-reporting enable="<true/false>"          (optional)  
    
                         report-messages="<true/false>"  (optional)  
    
                         report-progress="<every-1%/every-2%/every-5%/every-10%/every-20%/off>" (optional)/>  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true/false>"              (optional)  
    
        report-messages="<true/false>"     (optional)  
    
        report-progress="<every-1%/every-2%/every-5%/every-10%/every-20%/off>"     (optional)/>  
    
    </...All commands...>  
    
  9. Dettaglio logger: imposta il livello di dettaglio del log. Corrisponde all'opzione Tutte le categorie nell'interfaccia utente. Per impostazione predefinita, il livello di dettaglio del log è "error".

    Le opzioni a livello di logger includono:

    • fatal-error: vengono registrati solo messaggi di errore irreversibile.

    • error: vengono registrati solo i messaggi di errore ed errore irreversibile.

    • avviso: tutti i livelli tranne i messaggi di debug e informazioni vengono registrati.

    • info: tutti i livelli tranne i messaggi di debug vengono registrati.

    • debug: tutti i livelli di messaggi registrati.

    Nota

    I messaggi obbligatori vengono registrati a qualsiasi livello.

    Esempio:

    <output-providers>  
    
      <log-verbosity level="<fatal-error/error/warning/info/debug>"/>  
    
    </output-providers>  
    

    or

    <...All commands...>  
    
      <log-verbosity level="<fatal-error/error/warning/info/debug>"/>  
    
    </...All commands...>  
    
  10. Eseguire l'override della password crittografata: se 'true', la password di testo non crittografato specificata nella sezione definizione del server del file di connessione server o nel file di script sovrascrive la password crittografata archiviata nell'archiviazione protetta, se esistente. Se non viene specificata alcuna password in testo non crittografato, all'utente viene richiesto di immettere la password.

    I casi possibili sono due:

    1. Se l'opzione override è false, l'ordine di ricerca sarà Archiviazione protetta->File di script->File connessione server->Chiedi all’utente.

    2. Se l'opzione override è true, l'ordine di ricerca sarà File di script->File connessione server->Chiedi all’utente.

    Esempio:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

L'opzione non configurabile è:

  • Numero massimo di tentativi di riconnessione: quando una connessione stabilita scade o si interrompe a causa di un errore di rete, il server deve essere riconnesso. I tentativi di riconnessione sono consentiti a un massimo di 5 tentativi dopo il quale la console esegue automaticamente la riconnessione. La funzionalità di riconnessione automatica riduce lo sforzo di riesecuzione dello script.

Parametri di connessione del server

I parametri di connessione server possono essere definiti nel file di script o nel file di connessione del server. Per altri dettagli, vedere la sezione Creazione dei file di connessione al server (MySQLToSQL).

Comandi script

Il file di script contiene una sequenza di comandi del flusso di lavoro di migrazione nel formato XML. L'applicazione console SSMA elabora la migrazione nell'ordine dei comandi visualizzati nel file di script.

Ad esempio, una tipica migrazione dei dati di una tabella specifica in un database MySQL segue la gerarchia: Database -> Tabella.

Quando tutti i comandi nel file di script vengono eseguiti correttamente, l'applicazione console SSMA viene chiusa e restituisce il controllo all'utente. Il contenuto di un file di script è più o meno statico con informazioni sulle variabili contenute in File di valore variabile o in una sezione separata all'interno del file di script per i valori delle variabili.

Esempio:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="<project-folder>"  
  
                        project-name="<project-name>"  
  
                        overwrite-if-exists="<true/false>"/>  
  
    <connect-source-database server="<source-server-unique-name>"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

I modelli costituiti da 3 file di script (per l'esecuzione di vari scenari), un file di valore variabile e un file di connessione server vengono forniti nella cartella Script della console di esempio della directory del prodotto:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • SqlStatementConversionSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

È possibile eseguire i modelli (file) dopo aver modificato i parametri visualizzati per la pertinenza.

L'elenco completo dei comandi script è disponibile in Esecuzione della console SSMA (MySQLToSQL)

Convalida dei file script

L'utente può convalidare facilmente il file di script con il file di definizione dello schema 'M2SSConsoleScriptSchema.xsd' disponibile nella cartella 'Schemi'.

Passaggio successivo

Il passaggio successivo nel funzionamento della console è Creare file di valore variabile (MySQLToSQL).

Vedi anche

Creazione di file di valori di variabile (MySQLToSQL)