Tipi di dati di Mainframe Connector

Le tabelle seguenti elencano tutti i tipi di dati supportati da Mainframe Connector.

Tipo di utilizzo COBOL Flag supportati Condizione Tipo ORC (Optimized Row Columnar) Tipo Comportamento di decodifica (gsutil cp) Comportamento di codifica (bq export)
Doppio FLOAT64 Codifica i tipi di dati String, Double e Float.
Se firmato Lungo INT64 Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, Integer e Long.
Se non firmata Lungo INT64 Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, Integer e Long.
NULL_INDICATOR Se sono soddisfatte tutte le seguenti condizioni:
  • Il nome termina con _BT o -BT.
  • Immagine non numerica.
  • Non è presente alcun modificatore di campo o NULL_INDICATOR.
Byte BYTES Non viene mai memorizzato come NULL. Se il valore è NULL, restituisce un array di byte vuoto.
FAIL_ON_INVALID_DATA Campo DATE che utilizza il comando DATE_CONVERTER Data DATE Se è impostata una data non valida e FAIL_ON_INVALID_DATA, viene visualizzato un errore e il record viene ignorato. Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, LocalDate e Date.
FAIL_ON_INVALID_DATA Campo TIMESTAMP che utilizza il comando TIMESTAMP_CONVERTER Timestamp TIMESTAMP Se è impostata una data non valida e FAIL_ON_INVALID_DATA, viene visualizzato un errore e il record viene ignorato. Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String e Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Immagine non numerica, se presente. Se le immagini contengono quanto segue:
  • N e NSYMBOL == NATIONAL utilizzano UTF-16BE
  • N e NSYMBOL == DBCS agiscono come DISPLAY-1
  • U utilizza UTF8
Byte STRING Viene eseguita la seguente trasformazione del set di caratteri:
Innanzitutto, i byte vengono decodificati in caratteri, che vengono poi codificati in byte basati su UTF-8 memorizzati nel vettore di colonne. A seconda del EMPTY_STRING_AS_NULL, i dati vengono archiviati come NULL. A seconda di TRIM_STRING_SUFFIX, gli spazi vuoti finali e i valori bassi vengono tagliati.
Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, LocalDate, BigDecimal e Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Se il nome del campo termina con _DBCS o -DBCS, utilizza la codifica shift-out, shift-in. Byte STRING Vedi DISPLAY (*) Vedi DISPLAY (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Vedi DISPLAY (*) Byte STRING Vedi DISPLAY (*) Vedi DISPLAY (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Vedi DISPLAY (*) Byte STRING Vedi DISPLAY (*) Vedi DISPLAY (*)
VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX Se è impostato VARIABLE_LENGTH_ENABLED, il campo è di lunghezza variabile e contrassegnato da una struttura di gruppo di due o tre campi, a seconda di un campo NULL_INDICATOR aggiuntivo:
  • Il primo campo termina con -LEN o con il valore impostato da VARIABLE_LENGTH_LEN_SUFFIX.
  • Il secondo campo termina con -TEXT o con il valore impostato da VARIABLE_LENGTH_DATA_SUFFIX.
Byte STRING La parte di dati viene decodificata come DISPLAY, ma non viene mai archiviata come NULL. Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, LocalDate e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA Decimal64 NUMERIC Decodifica come NULL se tutti i byte sono:
  • spazi, alto o basso e
  • Non FAIL_ON_INVALID_DATA o,
  • FAIL_ON_INVALID_DATA e
  • EMPTY_VALUES_ARE_NULL.

Se i dati non sono validi e FAIL_ON_INVALID_DATA è impostato, viene visualizzato un errore e il record viene ignorato.
Se il valore è NULL, restituisce un array di byte vuoto. Codifica il tipo di dati String e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 && scale == 0 Lungo INT64 Decodifica come NULL se tutti i byte sono:
  • spazi, alto o basso e
  • Non FAIL_ON_INVALID_DATA o,
  • FAIL_ON_INVALID_DATA e
  • EMPTY_VALUES_ARE_NULL.

Se i dati non sono validi e FAIL_ON_INVALID_DATA è impostato, viene visualizzato un errore e il record viene ignorato.
Decodifica in long assumendo la codifica EBCDIC per il nibble sign.
Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, Long e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 Decimal64 NUMERIC Decodifica come NULL se tutti i byte sono:
  • spazi, alto o basso e,
  • Non FAIL_ON_INVALID_DATA o,
  • FAIL_ON_INVALID_DATA e
  • EMPTY_VALUES_ARE_NULL.

Se i dati non sono validi e FAIL_ON_INVALID_DATA è impostato, viene visualizzato un errore e il record viene ignorato.
Decodifica in long assumendo la codifica EBCDIC per il nibble sign.
Se il valore è NULL, restituisce un array di byte vuoto. Codifica i tipi di dati String, Long e BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA 18 < precision <= 38 Decimale BIGNUMERIC Decodifica come NULL se tutti i byte sono:
  • spazi, alto o basso e,
  • Non FAIL_ON_INVALID_DATA o,
  • FAIL_ON_INVALID_DATA e
  • EMPTY_VALUES_ARE_NULL.

Se i dati non sono validi e FAIL_ON_INVALID_DATA è impostato, viene visualizzato un errore e il record viene ignorato.
Decodifica in long assumendo la codifica EBCDIC per il nibble sign.
Se il valore è NULL, restituisce un array di byte vuoto. Codifica il tipo di dati String, Long, BigInteger e BigDecimal.