Carico e scarico tramite nzload e tabelle esterne

È possibile utilizzare il comando 'nzload per caricare i dati del set di caratteri nazionali. L'oggetto dati di origine deve contenere dati di classe char in Latin-9 e dati di classe nchar nella codifica UTF-8 corretta. Per il comando 'nzload, si usa l'opzione -encoding per specificare il tipo di dati nel file. L'opzione -encoding ha tre valori:
  • Il valore predefinito "internal" indica che il file può avere uno o entrambi i dati Latin-9 e UTF-8 utilizzando uno o tutti i tipi di dati char, varchar, nchar o nvarchar. Come prassi ottimale, Performance Server consiglia di utilizzare sempre "interno".
  • Un valore di ‘latin9’ indica che l'intero file è composto da dati /var Latin-9 e non ha dati nchar/nvarchar. Se il file contiene dati nchar/nvarchar, viene rifiutato dall'operazione di caricamento.
  • Un valore di ‘utf8’ indica che l'intero file è in codifica UTF-8 e ha solo dati nchar/nvarchar e nessun dato /var. Se il file contiene dati char/varchar, viene rifiutato dall'operazione di caricamento.
È inoltre possibile utilizzare il comando CREATE EXTERNAL TABLE per caricare e scaricare i dati dei set di caratteri nazionali. L'oggetto dati di origine deve contenere dati di classe char in Latin-9 e dati di classe nchar nella codifica UTF-8 corretta. Il comando CREATE EXTERNAL TABLE utilizza la stessa opzione -encoding e gli stessi valori del comando 'nzload per identificare il contenuto del file.
CREATE EXTERNAL TABLE xTBL SAMEAS TBL USING (dataobject 
('/tmp/TBL.data') delimiter '|' encoding 'internal');

Se una definizione di tabella contiene dati /vare nchar/nvarchar Latin-9 e UTF-8, assicurarsi di specificare la codifica come "INTERNAL". Inoltre, il caricamento e lo scaricamento tramite tabelle esterne non effettua alcuna conversione di set di codici. Se i dati sono in un formato legacy e devono essere convertiti in UTF-8, utilizzare il comando " nzconvert.

Durante il caricamento, il sistema verifica che i dati UTF-8 siano codificati correttamente, il che significa che un valore Unicode è rappresentato nel minor numero possibile di byte, che i valori non superano la lunghezza massima di quattro byte UTF-8 e che le sequenze di caratteri sono formate. Il sistema verifica inoltre che i dati non includano caratteri non consentiti.

Lo scarico su una tabella esterna copia i dati delle colonne non modificati nell'oggetto dati della tabella esterna.