## Datenformat

Bei der Mehrzahl der Loader-Kommandos zum Exportieren und Importieren können Sie angeben, welchen externen Datentyp und welches Datenformat die jeweiligen Feldwerte im Datenstrom haben bzw. haben sollen. Das angegebene Datenformat bezieht sich auf die Spalten, die den entsprechenden datenbankinternen Datentyp haben.

Außerdem können Sie z. B. festlegen, welche Separatoren und Delimiter verwendet werden sollen.

Das Datenformat kann in Kommandos zum Exportieren und Importieren für den Datenstrom angegeben werden. Dieses Datenformat übersteuert dann den entsprechenden Vorschlagswert oder den Wert, der mit Hilfe des SET-Kommandos gesetzt wurde.

### Syntax

<column_dataformat_spec> ::= CSV <csv_format_spec> ...
| FWV [BINARY] <fwv_format_spec> ...
| FWV BINARY <fwv_format_spec> ... <noheader_spec>

<table_dataformat_spec> ::= PAGES
| RECORDS <records_format_spec>

<csv_format_spec> ::= <separator_spec>
| <delimiter_spec>
| <null_spec>
| <field_format_spec>

<fwv_format_spec> ::= <null_spec>
| <int_spec>
| <field_format_spec>

<records_format_spec> ::= <field_format_spec> ...

<field_format_spec ::= <bool_spec>
| <code_spec>
| <date_spec>
| <int_spec>
| <number_spec>
| <time_spec>
| <timestamp_spec>

<noheader_spec> ::= NOHEADER <unsigned_integer>
<separator_spec> ::= SEPARATOR '<separator>'
<delimiter_spec> ::= DELIMITER '<delimiter>'
<null_spec> ::= NULL-Wert-Darstellung
<bool_spec> ::= BOOLEAN '<true_value>/<false_value>'
<code_spec> ::= Code-Spezifikation
<date_spec> ::= Datumsangaben
<int_spec> ::= INTEGER HILO | INTEGER LOHI
<number_spec> ::= DECIMAL '/[<digit_grouping_symbol>]/<decimal_symbol>/'
<time_spec> ::= Zeitangaben
<timestamp_spec> ::= Zeitstempelangaben

CSV | CSV (Comma Separated Values) ist ein Format für CHAR-Daten, bei dem eine Datenzeile genau so lang ist, wie für die Abbildung der Daten minimal erforderlich ist. Die Zuordnung eines Datenfeldes des Datenstroms zu einer Spalte in der Tabelle erfolgt gemäß der Positionsangabe.
FWV | FWV (Fixed Width Values) ist ein Format für Klarextwerte, bei dem eine Datenzeile im Datenstrom einem Datensatz entspricht. Die Zuordnung zwischen Datenfeldern des Datenstroms und Tabellenspalten erfolgt gemäß der Positionsangabe.
FWV BINARY | FWV BINARY (Fixed Width Values BINARY) ist ein Format für Binärwerte, bei dem die Datenfelder alle die gleiche feste Länge haben. Die Zuordnung zwischen Datenfeldern des Datenstroms und Tabellenspalten erfolgt gemäß der Positionsangabe. Im Unterschied zu FWV wird ein Datensatz nicht zusätzlich durch einen Zeilenumbruch abgeschlossen.
PAGES | Format, das angibt, dass die Anwendungsdaten in Seiten abgelegt werden
RECORDS | datenbankeigenes Format
NOHEADER <unsigned_integer> | unsigned_integer: Länge eines einzelnen Datensatzes im Datenstrom siehe auch: SQL-Referenzhandbuch, Ganze Zahl ohne Vorzeichen (unsigned_integer)
SEPARATOR '<separator>' <separator> ::= <character> | separator: Zeichen, mit dem Datenfelder bei Verwenden des CSV-Formats voneinander getrennt werden (Separator-Darstellung), Vorschlagwert: Komma (,) Es muss genau ein Zeichen angegeben werden, das aus dem 7-Bit-ASCII-Zeichensatz stammt (nur 1 Byte lang). siehe auch: SQL-Referenzhandbuch, Zeichen (character)
DELIMITER '<delimiter>' < delimiter > ::= <character> | delimiter: Zeichen, mit dem Daten bei Verwenden des CSV-Formats in Markierungen eingeschlossen werden (Delimiter-Darstellung), Vorschlagswert: doppeltes Anführungszeichen (″) Es kann genau ein Zeichen, das aus dem 7-Bit-ASCII-Zeichensatz stammt (nur 1 Byte lang) oder kein Zeichen (kein Delimiter) angegeben werden.
BOOLEAN '<true_value>/<false_value>' | true_value: Definiert die Zeichenkette für Werte, die wahr sind, Vorschlagwert TRUE false_value: Definiert die Zeichenkette für Werte, die falsch sind, Vorschlagwert FALSE Die Zeichenketten dürfen höchstens 10 Zeichen lang sein. siehe auch: SQL-Referenzhandbuch, Zeichenkette
INTEGER HILO | Im aktuellen Datenstrom sind ganze Zahlen so dargestellt, dass das Byte mit der niedrigsten Wertigkeit zuerst gespeichert ist, d.h. in der binären Zahl am weitesten rechts steht (Big Endian).
INTEGER LOHI | Im aktuellen Datenstrom sind ganze Zahlen so dargestellt, dass das Byte mit der höchsten Wertigkeit zuerst gespeichert ist, d.h. in der binären Zahl am weitesten rechts steht (Little Endian, Byte Swap).
DECIMAL '/[<digit_grouping_symbol>] /<decimal_symbol>/' | digit_grouping_symbol: Definiert ein Zeichen oder kein Zeichen für die Gliederung von Tausendern Vorschlagswert: kein Zeichen decimal_symbol: Definiert das Zeichen zum Trennen der Dezimalstellen Vorschlagswert: Punkt Als Zeichen sind Zahlen nicht zugelassen. siehe auch: SQL-Referenzhandbuch, Zeichen (character)

### Beispiele

EXPORT TABLE hotel.room
CATALOG OUTSTREAM 'room_ddl.catalog'
DATA OUTSTREAM 'room_csv.data'
SEPARATOR ','
DELIMITER '"'
NULL '? '
DECIMAL '/./,/'
BOOLEAN 'TRUE/FALSE'
TIMESTAMP ISO
DATE ISO
TIME ISO
PACKAGE OUTSTREAM 'room_csv.package'

Die erzeugte Datendatei hat folgenden Inhalt (Ausschnitt):

"10","double","45","200.00"
"10","single","20","135.00"
"20","double","13","100.00"

Loader-Tutorial, Exportieren, Importieren

### Erläuterung

Mit diesen Syntaxregel n innerhalb eines Kommandos zum Exportieren und Importieren können Sie eine Reihe von Datenformaten festlegen. Einige dieser Formate sollen an dieser Stelle näher erläutert werden. Werden die Formate nicht festgelegt, verwendet der Loader die jeweiligen Vorschlagswerte, die in der Tabelle weiter oben angegeben sind.

#### CSV, FWV, FWV BINARY, PAGES, RECORDS

Es handelt sich um Formate des Datenstroms.

● CSV, FWV und FWV BINARY

● PAGES und RECORDS

siehe auch: Datenstrom

#### <noheader_spec>

Die Syntaxregel noheader_spec wird nur für IMPORT TABLE-Kommandos ausgewertet, wenn das Datenformat FWV BINARY ist. Mit noheader_spec können Sie angeben, dass der Datenstrom keinen speziellen Header mit der Länge eines einzelnen Datensatzes enthält. Gleichzeitig geben Sie die Länge eines einzelnen Datensatzes im Datenstrom an.

Wenn der Datenstrom mit dem EXPORT TABLE-Kommando erzeugt wurde, enthält er einen speziellen Header mit der Länge eines einzelnen Datensatzes im Datenstrom. Wenn dieser Header fehlt, kann dem Loader mit noheader_spec die Länge eines einzelnen Datensatzes mitgeteilt werden. Wenn diese Regel fehlt, berechnet der Loader die Länge eines einzelnen Datensatzes aus den Angaben zu den Spaltenpositionen im Ladekommando.

#### <bool_spec>

Sie legen mit der Syntaxregel bool_spec die Zeichenketten fest, mit der aus der Datenbankinstanz exportierte bzw. in eine Datenbankinstanz zu importierende BOOLEAN-Werte in Datenströmen repräsentiert werden. Diese Einstellung gilt für dieses Loader-Kommando. Wenn Sie die Zeichenketten nicht festlegen, wird der mit dem SET BOOLEAN-Kommando gesetzte Wert verwendet oder der Vorschlagswert des Loader.

#### <int_spec>

Sie legen mit der Syntaxregel int_spec die binäre Darstellung von ganzen Zahlen in den Datenströmen fest. Dies ist jedoch nur für Datenströme mit dem Format FWV BINARY möglich. Beim Exportieren in Datenströme oder beim Importieren aus Datenströmen in einem anderen Format wird diese Angabe ignoriert.

Wenn die für einen Datenstrom angegebene Darstellung nicht mit der des aktuellen Rechners übereinstimmt, werden die Werte vor dem Exportieren in den Datenstrom bzw. vor dem Importieren in die Datenbank angepasst.

#### <number_spec>

Sie legen mit der Syntaxregel number_spec fest, welche Zeichen bei Dezimalzahlen zu verwenden sind, um Tausender zu gliedern und ganze Zahlen von Dezimalstellen zu trennen. Diese Einstellung gilt für dieses Loader-Kommando. Wenn Sie keine Zeichen festlegen, wird der mit dem SET DECIMAL-Kommando gesetzte Wert verwendet oder der Vorschlagswert des Loader.

Siehe auch:

SET-Kommando

Datenstrom

Exportieren: Kommandos

Importieren: Kommandos