FORMAT

Sie können verschiedene Ausgabeformate für Optim™ High Performance Unload in der FORMAT-Klausel angeben.

FORMAT
Mit der Option FORMAT können Sie das Format der zu generierenden Ausgabe angeben. Wenn diese Option nicht angegeben ist, wird das Format DEL verwendet.
Syntax
FORMAT DEL|IXF|DELIMITED|ASC|DSNTIAUL|XML|MIGRATION|JSON|ORC|PARQUET|EXTERNAL
Variabel
Kein Variablenwert
Standard
DEL
Unter all diesen unterstützten Formaten gibt es Formate, die als Eingabe für das Dienstprogramm Db2® Load unterstützt werden (DEL, IXF, DELIMITED, ASC). Bei Angabe eines dieser Formate kann auch eine Option MODIFIED BY mit einer Liste von Schlüsselwörtern verwendet werden, die Modifikatoren des Db2 -Dienstprogramms LOAD entsprechen. Beim Generieren eines Db2 -Ladebefehls verhält sich die Angabe eines der unterstützten Modifikatoren auf den Inhalt dieses Befehls. Einige dieser Modifikatoren können sich auch so verhalten, wie die Daten in der Ausgabedatei extrahiert werden.
Im Folgenden sehen Sie die Liste der Modifikatoren, die als Schlüsselwörter der Option MODIFIED BY unterstützt werden und sich nicht auf die Art und Weise auswirken, wie die Daten entladen werden:
  • ANYORDER
  • GENERATEDIGNORE
  • GENERATEDMISSING
  • GENERATEDOVERRIDE
  • IDENTITYIGNORE
  • IDENTITYMISSING
  • IDENTITYOVERRIDE
  • IMPLICITLYHIDDENINCLUDE
  • IMPLICITLYHIDDENMISSING
  • NOROWWARNINGS
  • PERIODIGNORE
  • PERIODMISSING
  • PERIODOVERRIDE
  • ROWCHANGETIMESTAMPIGNORE
  • ROWCHANGETIMESTAMPMISSING
  • ROWCHANGETIMESTAMPOVERRIDE
  • TRANSACTIONIDIGNORE
  • TRANSACTIONIDMISSING
  • TRANSACTIONIDOVERRIDE
  • usedefaults
Eine Beschreibung dieser Modifikatoren finden Sie in der Db2 -Dokumentation.
Die folgende Liste enthält Modifikatoren, die als Schlüsselwörter der Option MODIFIED BY unterstützt werden, die mit einem Wert als Parameter angegeben werden müssen:
CDEANALYZEFREQUENZ
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Änderungswert CDEANALYZEFREQUENCY in der Option MODIFIED BY. Sie muss mit einem numerischen Wert zwischen 0 und 99 angegeben werden. Zum Beispiel:
CDEANALYZEFREQUENCY 15
INDEXFREIER Speicherbereich
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator INDEXFREESPACE in seiner Option MODIFIED BY. Sie muss mit einem numerischen Wert zwischen 0 und 99 angegeben werden. Zum Beispiel:
INDEXFREESPACE 10
MAXANALYZESIZE
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben ist, enthält der generierte Db2 -Befehl LOAD den Modifikator MAXANALYZESIZE in seiner Option MODIFIED BY. Er muss mit einem numerischen Wert gefolgt von einem Zeichen 'M' oder' G 'angegeben werden, das den Einheiten' Megabyte 'oder' Gigabyte ' entspricht. Zum Beispiel:
MAXANALYZESIZE 100M
SEITENFREIER Speicherbereich
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wird auch die Klausel LOADFILE angegeben, enthält der generierte Db2 -Befehl LOAD den Modifikator PAGEFREESPACE in der Option MODIFIED BY. Er muss mit einem numerischen Wert zwischen 0 und 100 angegeben werden. Zum Beispiel:
PAGEFREESPACE 20
GESAMTER_FREIER Speicherbereich
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator TOTALFREESPACE in seiner Option MODIFIED BY. Sie muss mit einer ganzen Zahl größer-gleich 0 angegeben werden. Zum Beispiel:
TOTALFREESPACE 5
Die folgende Liste enthält Modifikatoren, die als Schlüsselwörter der Option MODIFIED BY unterstützt werden und sich auf die Art und Weise verhalten, wie die Sicherheitskennsatzdaten in der Ausgabedatei extrahiert werden:
seclabelchar
Wenn Sie eine Task im nativen Modus ausführen, verwenden Sie den Modifikator SECLABELCHAR, wenn Sie die Sicherheitskennsatzwerte durch die entsprechenden Zeichenfolgeformatwerte in der Ausgabedatei ersetzen möchten. Die Verwendung dieses Modifikators für eine Task, die über die Db2 -Engine verarbeitet wird, verhält sich nicht so, wie die Sicherheitskennsatzwerte entladen werden. Wenn auch die Klausel LOADFILE angegeben wird, schließt der generierte Db2 -Befehl LOAD den Modifikator SECLABELCHAR in die Option MODIFIED BY ein. Dieser Änderungswert ist nicht kompatibel mit dem Änderungswert SECLABELNAME. Werden sie zusammen angegeben, wird die zweite Angabe ignoriert.
seclabelname
Wenn Sie eine Task im nativen Modus ausführen, verwenden Sie den Modifikator SECLABELNAME, wenn Sie die Sicherheitskennsatzwerte durch die entsprechenden Kennsatznamen in der Ausgabedatei ersetzen möchten, falls vorhanden. Jeder Sicherheitskennsatzwert entspricht nicht unbedingt einem für diesen genauen Wert erstellten Kennsatz. Dieser Änderungswert kann nur verwendet werden, wenn alle Sicherheitskennsatzwerte, die an einer bestimmten Task beteiligt sind, über einen entsprechenden Kennsatz verfügen. Die Verwendung dieses Modifikators für eine Task, die über die Db2 -Engine verarbeitet wird, verhält sich nicht so, wie die Sicherheitskennsatzwerte entladen werden. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 Ladebefehl den Modifikator SECLABELNAME in der Option MODIFIED BY. Dieser Änderungswert ist nicht kompatibel mit dem Änderungswert SECLABELCHAR. Werden sie zusammen angegeben, wird die zweite Angabe ignoriert.
DEL
Das DEL-Format ist ein ASCII-Format mit Begrenzern, das denselben Begrenzer und Spaltentrennzeichen verwendet wie Db2 Export. Weitere Informationen zur Ausgabe des Exportbefehls Db2 finden Sie in den Db2 -Veröffentlichungen. Wenn Sie das Format DEL zur Datenmigration verwenden, können Sie die folgende Option verwenden:
INTO tabellenname oder qualifier.tablename
Wenn Sie eine bestimmte Tabelle migrieren oder laden und eine explizite SELECT-Anforderung für diese Tabelle angeben, können Sie mit der Option INTO den Tabellennamen angeben. Wenn das Qualifikationsmerkmal und der Name der Zieltabelle von denen der Quellentabelle abweichen, können Sie das Qualifikationsmerkmal (QM) und den Namen mit der Option INTO angeben. Optim High Performance Unload verwendet den Tabellennamen und den Qualifizierer aus der INTO-Klausel im entsprechenden LOAD-Befehl anstelle der Werte in der Quelltabelle.
Wichtig: Wenn Sie keinen Namen mit der Klausel INTO angeben, wird der Name der Quellentabelle in der Ladedatei verwendet.
MODIFIED BY Modifikatoren
Mit der Option MODIFIED BY einer Klausel FORMAT DEL können Sie Db2 -Lademodifikatoren angeben, die sich auf die Art und Weise verhalten, wie ein zugeordneter Db2 -Ladebefehl generiert wird. Die Option MODIFIED BY muss mindestens einen der Modifikatoren enthalten, die am Anfang der Beschreibung der Klausel FORMAT stehen. Sie können mehrere Modifikatoren festlegen, indem Sie die Option MODIFIED BY gefolgt von einer durch Leerzeichen getrennten Liste der gewünschten Modifikatoren angeben. Zum Beispiel:
MODIFIED BY IDENTITYIGNORE GENERATEDMISSING ROWCHANGETIMESTAMPOVERRIDE
DELPRIORITYCHAR
Mit dem Modifikator DELPRIORITYCHAR können Sie die Begrenzerpriorität, die vom Db2 -Befehl Load verwendet wird, in Zeichenbegrenzer, Datensatzbegrenzer, Spaltenbegrenzer ändern. Die Standardreihenfolge der Begrenzer ist Datensatzbegrenzer, Trennzeichen, Spaltenbegrenzer. Dieser Modifikator hat keinen Einfluss auf die entladenen Daten; er wird nur im generierten LOAD-Befehl aufgelistet.
FASTPARSE
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator FASTPARSE in seiner Option MODIFIED BY.
DUMPFILE "dateiname"
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Der angegebene Wert muss ein absoluter Pfad sein. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Änderungswert DUMPFILE in der Option MODIFIED BY.
SPEICHERAUSZUGSDATEIZUGRIFF
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator DUMPFILEACCESSALL in der Option MODIFIED BY.
IXF
IXF (Integration Exchange Format) ist ein generisches Austauschformat für relationale Datenbanken. Optim High Performance Unload erzeugt End-of-Record-Trennzeichen, die von den IXF-Standards unterstützt werden. Wenn Sie das Format IXF zur Datenmigration verwenden, können Sie die folgende Option verwenden:
INTO tabellenname oder qualifier.tablename
Wenn Sie eine bestimmte Tabelle migrieren oder laden und eine explizite SELECT-Anforderung für diese Tabelle angeben, können Sie mit der Option INTO den Tabellennamen angeben. Wenn das Qualifikationsmerkmal und der Name der Zieltabelle von denen der Quellentabelle abweichen, können Sie das Qualifikationsmerkmal (QM) und den Namen mit der Option INTO angeben. Optim High Performance Unload verwendet den Tabellennamen und den Qualifizierer aus der INTO-Klausel im entsprechenden LOAD-Befehl anstelle der Werte in der Quelltabelle.
Wichtig: Wenn Sie keinen Namen mit der Klausel INTO angeben, wird der Name der Quellentabelle in der Ladedatei verwendet.
Einschränkung: Sie können das IXF-Ausgabeformat nicht verwenden, wenn Daten in eine Db2 -Zielinstanz mit mehreren Datenbankpartitionen migriert werden. Das Ladedienstprogramm Db2 kann nicht zum Laden von Daten aus einer IXF-Datei in eine Umgebung mit mehreren Partitionen verwendet werden. Weitere Informationen finden Sie in der Dokumentation zum Db2 -Dienstprogramm LOAD.
MODIFIED BY Modifikatoren
Mit der Option MODIFIED BY einer Klausel FORMAT IXF können Sie Db2 -Lademodifikatoren angeben, die sich auf die Art und Weise verhalten, wie ein zugehöriger Db2 -Ladebefehl generiert wird. MODIFIED BY muss mindestens einen der Modifikatoren enthalten, die am Anfang der Beschreibung der Klausel FORMAT angezeigt werden, oder einen der Modifikatoren, die in der folgenden Liste aufgeführt sind. Sie können mehrere Modifikatoren festlegen, indem Sie die Option MODIFIED BY gefolgt von einer durch Leerzeichen getrennten Liste der gewünschten Modifikatoren angeben. Zum Beispiel:
MODIFIED BY IDENTITYIGNORE GENERATEDMISSING ROWCHANGETIMESTAMPOVERRIDE
forcein
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator FORCEIN in seiner Option MODIFIED by.
nochecklengths
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator NOCHECKLÄNGEN in der Option MODIFIED BY.
DELIMITED
Das Format DELIMITED funktioniert auf dieselbe Weise wie das Format DEL mit der Ausnahme, dass Sie mit dem Format DELIMITED ein Spaltentrennzeichen, einen Spaltenwertbegrenzer oder eine Nullspaltenbegrenzung angeben können. Wenn Sie für Optionen des Formats DELIMITED keinen Wert eingeben, funktioniert das Format DELIMITED wie das Format DEL. Wenn Sie Optionen für das Format DELIMITED angeben, muss sich das Trennzeichen vom Begrenzer unterscheiden und darf höchstens 1 Byte lang sein. Trennzeichen und Begrenzungszeichen müssen in einfache Anführungszeichen gesetzt werden. Sie können eine oder mehrere der drei Optionen jeweils getrennt durch ein Leerzeichen gemeinsam angeben. Verwenden Sie die folgende Syntax, um Werte für delimited_blockanzugeben:
DELIMITED INTO tablename|qualifier.tablename 
MODIFIED BY modifiers NULL DELIM NULLVAL "value"
Oder:
DELIMITED INTO tablename|qualifier.tablename SEP|COLDEL 
'char' DELIM|CHARDEL 'char' NULL DELIM NULLVAL "value"
Dabei gilt:
INTO tabellenname oder qualifier.tablename
Wenn Sie die Option LOADFILE verwenden, können Sie mit der Anweisung INTO den Namen und das Qualifikationsmerkmal für die Zieltabelle angeben, was hilfreich ist, wenn der Name und das Qualifikationsmerkmal der Zieltabelle sich von denen der Quellentabelle unterscheiden. Optim High Performance Unload verwendet den Tabellennamen und den Qualifizierer aus der INTO-Klausel im entsprechenden LOAD-Befehl anstelle des Tabellennamens und des Qualifizierers in der Quelltabelle.
Wichtig: Wenn Sie keinen Namen mit der Klausel INTO angeben, wird der Name der Quellentabelle in der Ladedatei verwendet.
MODIFIED BY begrenzte_Modifikatoren
Mit der Option MODIFIED BY einer Klausel FORMAT DELIMITED können Sie Db2 -Lademodifikatoren angeben, die sich auf die Art und Weise verhalten, wie ein zugeordneter Db2 -Ladebefehl generiert wird. Sie können auch Modifikatoren aus den unten aufgelisteten Modifikatoren angeben, die beschreiben, wie diese Daten entladen werden. MODIFIED BY muss mindestens einen der Modifikatoren enthalten, die am Anfang der Beschreibung der Klausel FORMAT angezeigt werden, oder einen der Modifikatoren, die in der folgenden Liste aufgeführt sind. Sie können mehrere Modifikatoren festlegen, indem Sie die Option MODIFIED BY gefolgt von einer durch Leerzeichen getrennten Liste der Modifikatoren angeben. Zum Beispiel:
MODIFIED BY CHARDEL '%' DECPLUSBLANK
Tipp: Sie können die Option MODIFIED BY verwenden, ohne eine Ladedatei zu generieren, um das entladene Datenformat zu ändern (mit Ausnahme des Änderungswerts DELPRIORITYCHAR, der keine Auswirkung auf die entladenen Daten hat).
Sie können aus der folgenden Liste von Modifikatoren wählen:
COLDEL 'Zeichen'|x'XX'
Mit dem Modifikator COLDEL können Sie das Trennzeichen angeben, das zum Trennen von Spalten verwendet wird. Der Standardwert ist das Komma (,).
CHARDEL 'Zeichen'|x'XX'
Mit dem Modifikator CHARDEL können Sie den Begrenzer angeben, der zum Einschließen der Spaltenwerte verwendet wird. Der Standardwert ist das Anführungszeichen (“).
DECPT 'Zeichen'|x'XX'
Mit dem Modifikator DECPT können Sie das Dezimalzeichen angeben, das für Dezimaldaten verwendet wird. Der Standardwert ist der Punkt (.). Dieser Änderungswert ist nicht kompatibel mit dem Änderungswert IMPLIEDDECIMAL.
DECPLUSBLANK
Verwenden Sie den Modifikator DECPLUSBLANK, um anzugeben, ob positive Dezimaldaten mit einem Leerzeichen als Vorzeichen und nicht mit einem Pluszeichen (+) entladen werden sollen. Standardmäßig wird das Pluszeichen (+) verwendet.
NOCHARDEL
Verwenden Sie den Modifikator NOCHARDEL, wenn Spaltenwerte nicht in Begrenzer eingeschlossen werden sollen. Wenn Sie den Modifikator NOCHARDEL angeben, werden die Optionen DOUBLE DELIM und DELPRIORITYCHAR ignoriert.
DELPRIORITYCHAR
Mit dem Modifikator DELPRIORITYCHAR können Sie die Begrenzerpriorität, die vom Db2 -Befehl Load verwendet wird, in Zeichenbegrenzer, Datensatzbegrenzer, Spaltenbegrenzer ändern. Die Standardreihenfolge der Begrenzer ist Datensatzbegrenzer, Trennzeichen, Spaltenbegrenzer. Dieser Modifikator hat keinen Einfluss auf die entladenen Daten; er wird nur im generierten LOAD-Befehl aufgelistet.
STRIPLZEROS
Mit dem Modifikator STRIPLZEROS können Sie Dezimaldaten ohne führende Nullen entladen. Mit dieser Option können Sie Plattenspeicherplatz sparen und die Leistung verbessern, wenn Sie Daten mit führenden Nullen entladen.
Wenn Sie beispielsweise die folgende Steuerdatei verwenden, Optim High Performance Unload wird eine Ausgabedatei erstellt, die den Wert +0001000.00 enthält:
GLOBAL CONNECT TO SAMPLE ;
UNLOAD TABLESPACE DB2 NO 
SELECT BONUS FROM EMPLOYEE WHERE BONUS=1000;
OUTFILE("Out")
FORMAT DELIMITED;
Wenn Sie den Modifikator STRIPLZEROS zur Klausel FORMAT hinzufügen, enthält die Ausgabedatei den Wert +1000.00:
FORMAT DELIMITED MODIFIED BY STRIPLZEROS;
keepblanks
Verwenden Sie den Modifikator KEEPBLANKS, wenn er bei der Generierung eines Db2 -Ladebefehls berücksichtigt werden soll, damit führende und abschließende Leerzeichen von Zeichenfolgen, die nicht in Begrenzer eingeschlossen sind, beibehalten werden, wenn der Db2 -Ladebefehl ausgeführt wird. Wenn der Änderungswert NOCHARDEL nicht angegeben wird, wird der Änderungswert KEEPBLANKS ignoriert.
implieddecimal
Verwenden Sie den Modifikator IMPLIEDDECIMAL, wenn Sie die Daten des Dezimaltyps entladen wollen, ohne dass ein Zeichen das Dezimaltrennzeichen angibt. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator IMPLIEDDECIMAL in der Option MODIFIED BY. Dieser Änderungswert ist nicht mit dem Änderungswert DECPT kompatibel.
usegraphiccodepage
Verwenden Sie den Modifikator USEGRAPHICCODEPAGE, wenn Sie die Doppelbytetypdaten in der DBCS-Codepage in die Ausgabedatei entladen wollen. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator USEGRAPHICCODEPAGE in seiner Option MODIFIED BY.
FASTPARSE
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator FASTPARSE in seiner Option MODIFIED BY.
DUMPFILE "dateiname"
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Der angegebene Wert muss ein absoluter Pfad sein. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Änderungswert DUMPFILE in der Option MODIFIED BY.
SPEICHERAUSZUGSDATEIZUGRIFF
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator DUMPFILEACCESSALL in der Option MODIFIED BY.
Anmerkung
Über die Optionen COLDEL, CHARDEL und DECPT können die Zeichen, die als Begrenzer verwendet werden sollen, in Anführungszeichen angegeben werden. Dies eignet sich jedoch nicht für nicht druckbare Zeichen. Wenn nicht druckbare Zeichen als Begrenzer verwendet werden sollen, können Sie ein 'x' gefolgt von seinem Hexadezimalwert (zwei Hexadezimalziffern in Anführungszeichen) angeben.
SEP 'Zeichen'|x'XX' oder COLDEL 'Zeichen'|x'XX'
Mit den Schlüsselwörtern SEP und COLDEL können Sie ein Trennzeichen (Begrenzer) für die Trennung von Spalten angeben. Ein Leerzeichen zwischen den Schlüsselwörtern SEP oder COLDEL und der Variablen 'Zeichen' ist optional. Im DEL-Format ist dieses Zeichen ein Komma (,). Ein nicht druckbares Zeichen kann mit einer hexadezimalen Spezifikation verwendet werden.
Wichtig: Die Schlüsselwörter SEP und COLDEL werden nur aus Gründen der Kompatibilität mit früheren Versionen unterstützt. Verwenden Sie für neue Klauseln FORMAT stattdessen die Klausel MODIFIED BY. Verwenden Sie beispielsweise MODIFIED BY COLDEL '%' anstelle von COLDEL '%' .
DELIM 'Zeichen'|x'XX' oder CHARDEL 'Zeichen'|x'XX'
Mit dem Schlüsselwort DELIM können Sie den Begrenzer angeben, der zum Einschließen der Spaltenwerte verwendet wird. Ein Leerzeichen zwischen dem Schlüsselwort DELIM und der Variablen 'Zeichen' ist optional. Im Format DEL ist der Begrenzer ein doppeltes Anführungszeichen (" ). Das Schlüsselwort CHARDEL kann genauso verwendet werden wie das Schlüsselwort DELIM . Ein nicht druckbares Zeichen kann mit einer Hexadezimalangabe verwendet werden.
Wichtig: Die Schlüsselwörter CHARDEL und DELIM werden nur aus Gründen der Kompatibilität mit früheren Versionen unterstützt. Verwenden Sie für neue Klauseln FORMAT stattdessen die Klausel MODIFIED BY. Verwenden Sie beispielsweise MODIFIED BY CHARDEL '%' anstelle von CHARDEL '%' .
NULL DELIM
Mit dem Schlüsselwort NULL DELIM können Sie angeben, dass der Spaltenwertbegrenzer in Spalten mit Nullwerten verwendet werden soll. Standardmäßig werden Nullspaltenwerte nicht in Begrenzer eingeschlossen. Durch die Angabe des Schlüsselworts NULL DELIM stellen zwei aufeinanderfolgende Spaltenbegrenzer das Vorhandensein einer Spalte mit einem Nullwert dar. Die Option NULL DELIM betrifft nur Spalten, die einschließende Begrenzer benötigen, z. B. das Format DEL, bei dem Zeichenspalten Begrenzer benötigen, nicht jedoch Ganzzahlspalten.
Sie akzeptieren z. B. die Standardeinstellungen für das Spaltentrennzeichen (SEP) und den Spaltenwertbegrenzer (DELIM) und Sie haben eine Tabelle, die drei Spalten enthält: INTEGER, CHARACTER(5) mit optionaler Dateneingabe und INTEGER. Ordnen Sie zwei Zeilen in den Spalten mit den folgenden Daten an: (1,'row1',1) und (2,null,2). Wenn Sie diese Daten mit dem Format DELIMITED ohne die Option NULL DELIM entladen, würden diese beiden Zeilen folgendermaßen aussehen:
1,"row1 ",1  and 2,,2
Wenn Sie diese Daten mit dem Format DELIMITED und der Option NULL DELIM entladen, würden diese beiden Zeilen folgendermaßen aussehen:
1,"row1 ",1  and 2,"",2
NULLVAL
Mit der Option NULLVAL können Sie einen Wert angeben, der beim Auftreten eines Nullwerts in die Ausgabedatei geschrieben werden soll.
Standardmäßig wird beim Auftreten eines Nullwerts nichts in die Ausgabedatei geschrieben.
Sie haben z. B. die folgende Steuerdatei:
GLOBAL CONNECT TO SAMPLE;
UNLOAD TABLESPACE
SELECT * FROM TB_NULL;
OUTFILE("outfile")
FORMAT DELIMITED;
Mit dieser Steuerdatei Optim High Performance Unload wird eine Ausgabedatei erstellt, die folgenden Inhalt hat:
[i975@lat186(hm510_mnt:) hm500_mnt]$ cat outfile
1,,,
2,2,"",2014-01-01
3,3,"  ",2014-01-01
Wenn Sie die Angabe der Klausel FORMAT in FORMAT DELIMITED NULLVAL "NULL" ändern, sieht der Inhalt der Ausgabedatei folgendermaßen aus:
[i975@lat186(hm510_mnt:) hm500_mnt]$ cat outfile
1,NULL,NULL,NULL
2,2,"",2014-01-01
3,3,"  ",2014-01-01
Die Nullwerte werden in der generierten Ausgabedatei also durch einen bestimmten Wert ersetzt.
Aufst.
Das Format ASC ist eine sequenzielle ASCII-Datei ohne Begrenzer mit Datensätzen mit fester Länge, die nach Zeile und Spalte geordnet sind. ASC-Dateien können in Verbindung mit dem Befehl LOAD und zum Datenaustausch mit ASCII-Produkten verwendet werden, die ein Spaltenformat für die Daten nutzen.

Das Format ASC verwendet die folgenden Optionen:

INTO tabellenname oder qualifier.tablename
Wenn Sie die Option LOADFILE verwenden und den Zieltabellennamen oder das Qualifikationsmerkmal (QM) und den Tabellennamen ändern müssen, können Sie die neuen Namen, der in der LOAD-Datei verwendet werden soll, wie folgt angeben:
FORMAT ASC INTO qualifier.tablename
Zum Beispiel:
GLOBAL CONNECT TO SAMPLE; 
UNLOAD TABLESPACE 
FLUSH BUFFERPOOLS NO 
LOCK NO 
SELECT * FROM EMPLOYEE; 
CCSID(930,300) 
OUTFILE("test.out") LOADFILE("test.load") 
FORMAT ASC INTO DBHPU.EMPLOYEE; 
Die generierte Ladedatei (test.load) sieht folgendermaßen aus:
LOAD FROM test.out OF ASC 
MODIFIED BY STRIPTBLANKS 
METHOD L (1,6,7,18,19,20,34,36, 38, ...108,118) 
NULL INDICATORS(0,0,0,0,35,... 107) 
INSERT INTO TABLE DBHPU.EMPLOYEE 
(EMPNO,FIRSTNME,MIDINT,LASTNAME,WORKDEPT,...) 
Achtung: Wenn Sie mit der Klausel INTO keinen Namen angeben, wird der Name der Quellentabelle in der Ladedatei verwendet.
MODIFIED BY Modifikatoren
Mit der Option MODIFIED BY einer Klausel FORMAT ASC können Sie Db2 -Lademodifikatoren angeben, die sich auf die Art und Weise verhalten, wie ein zugehöriger Db2 -Ladebefehl generiert wird. Sie können auch Modifikatoren aus den unten aufgelisteten Modifikatoren angeben, die beschreiben, wie diese Daten entladen werden. MODIFIED BY muss mindestens einen der Modifikatoren enthalten, die am Anfang der Beschreibung der Klausel FORMAT angezeigt werden, oder einen der Modifikatoren, die in der folgenden Liste aufgeführt sind. Sie können mehrere Modifikatoren festlegen, indem Sie die Option MODIFIED BY gefolgt von einer durch Leerzeichen getrennten Liste der gewünschten Modifikatoren angeben. Zum Beispiel:
MODIFIED BY PACKEDDECIMAL STRIPNULLS
Tipp: Die Funktionen der Option MODIFIED BY können verwendet werden, ohne dass eine Ladedatei generiert wird, um das entladene Datenformat zu ändern.
BINARYNUMERICS
Sie können numerische Daten (INTEGER, DECFLOAT und reelle Zahlen), die im Binärformat entladen werden sollen, über den Modifikator BINARYNUMERICS angeben. Die verwendete Binärdarstellung ist immer Big Endian, was von Db2 Load erwartet wird. Standardmäßig wird beim Entladen von numerischen Daten nicht das Binärformat verwendet.

Wenn Sie BINARYNUMERICS angeben und die Option LOADFILE ebenfalls ausgewählt ist, wird BINARYNUMERICS zur Klausel MODIFIED BY in der Ladedatei hinzugefügt.

PACKEDDECIMAL
Mit diesem Modifikator können Sie Dezimaldatentypen in gepackter Darstellung entladen. Dies ist nicht das Standardverhalten.

Wenn Sie PACKEDDECIMAL angeben und die Option LOADFILE ebenfalls ausgewählt ist, wird PACKEDDECIMAL zur Klausel MODIFIED BY in der Ladedatei hinzugefügt. Dieser Änderungswert ist nicht kompatibel mit den Änderungswerten IMPLIEDDECIMAL und ZONEDDECIMAL.

DECPLUSBLANK
Sie können angeben, ob positive Dezimaldaten mit einem Leerzeichen als Vorzeichen anstelle eines Pluszeichens (+) entladen werden sollen, indem Sie den Modifikator DECPLUSBLANK verwenden. Standardmäßig wird das Pluszeichen (+) verwendet.
STRIPTBLANKS oder STRIPTNULLS
Sie können angeben, ob Daten für Zeichenspalten variabler Größe aufgefüllt mit einem Leerzeichen oder mit einem Nullzeichen entladen werden sollen, indem Sie die entsprechenden sich gegenseitig ausschließenden Modifikatoren STRIPTBLANKS und STRIPTNULLS verwenden.

Standardmäßig ist das Füllzeichen das Leerzeichen (STRIPBLANKS). Wenn auch die Option LOADFILE ausgewählt ist, schließt der Ladebefehl entweder den Modifikator STRIPTBLANKS oder den Modifikator STRIPTNULLS in die Klausel MODIFIED BY ein.

NULLINDCHAR 'char' |x ' XX'
Verwenden Sie den Modifikator NULLINDCHAR, wenn Sie das einzelne Zeichen angeben wollen, das für die Angabe eines Nullwerts in der Ausgabedatei berücksichtigt werden soll. Der Standardwert ist 'Y'. Wenn dieser Änderungswert angegeben wird, überschreibt er die potenzielle Verwendung der älteren Option NULL, die es auch ermöglicht, die Zeichen anzugeben, die angeben, ob ein Wert NULL ist oder nicht.
implieddecimal
Verwenden Sie den Modifikator IMPLIEDDECIMAL, wenn Sie die Daten des Dezimaltyps entladen wollen, ohne dass ein Zeichen das Dezimaltrennzeichen angibt. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator IMPLIEDDECIMAL in der Option MODIFIED BY. Dieser Änderungswert ist nicht kompatibel mit den Änderungswerten PACKEDDECIMAL und ZONEDDECIMAL.
ZONEDDEZIMAL
Verwenden Sie den Änderungswert ZONEDDECIMAL, wenn Sie die Dezimaltypdaten in gezonter Darstellung in die Ausgabedatei entladen wollen. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator ZONEDDECIMAL in der Option MODIFIED BY. Dieser Änderungswert ist nicht kompatibel mit den Änderungswerten PACKEDDECIMAL und IMPLIEDDECIMAL.
usegraphiccodepage
Verwenden Sie den Modifikator USEGRAPHICCODEPAGE, wenn Sie die Doppelbytetypdaten in der DBCS-Codepage in die Ausgabedatei entladen wollen. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator USEGRAPHICCODEPAGE in seiner Option MODIFIED BY.
FASTPARSE
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn die Klausel LOADFILE ebenfalls angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator FASTPARSE in seiner Option MODIFIED BY.
nochecklengths
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator NOCHECKLÄNGEN in der Option MODIFIED BY.
DUMPFILE "dateiname"
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Der angegebene Wert muss ein absoluter Pfad sein. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Änderungswert DUMPFILE in der Option MODIFIED BY.
SPEICHERAUSZUGSDATEIZUGRIFF
Dieser Änderungswert hat keine Auswirkung auf die entladenen Daten. Wenn auch die Klausel LOADFILE angegeben wird, enthält der generierte Db2 -Befehl LOAD den Modifikator DUMPFILEACCESSALL in der Option MODIFIED BY.
DSNTIAUL
DSNTIAUL ist eine Ausgabe, die ein Format erzeugt, mit dem die entladene Datei in Db2 for z/OS®geladen werden kann. Das Ausgabeformat ist eine sequenzielle Datei ohne Zeilen-oder Spaltenbegrenzer. Diese Datei besteht aus einer ununterbrochenen Folge von Datensätzen mit fester Länge.
INTO tabellenname oder qualifier.tablename
Wenn Sie die Option LOADFILE verwenden, um eine Ladedatei zu generieren, und Sie den Zieltabellennamen oder das Qualifikationsmerkmal (QM) und den Tabellennamen ändern wollen, können Sie den neuen Namen über die folgende Option angeben:
FORMAT DSNTIAUL INTO qualifier.tablename
Achtung: Wenn Sie mit der Klausel INTO keinen Namen angeben, wird der Name der Quellentabelle in der Ladedatei verwendet.
XML
Das Format XML ist eine Datei, die aus einer Folge von Datensätzen variabler Länge besteht, die nach Zeilen und Spalten angeordnet sind. Alle Datensätze sind mit dem Zeichenfolgeformat mit XML-Tags formatiert. Jeder Datensatz enthält Spaltennamen und Spaltendaten.

Das Format XML verwendet die folgenden Optionen:

COLATTVAL oder COLATTVAL_XML
Die Daten in Spaltennamen oder Spaltenwerten können ungültige XML-Zeichen enthalten. Die Optionen COLATTVAL und COLATTVAL_XML steuern die Ersetzung ungültiger XML-Zeichen in der Ergebniszeichenfolge.

Wenn Sie die Option COLATTVAL verwenden, ersetzt das Programm ungültige XML-Zeichen in Spaltenwerten und Spaltennamen. Die Option COLATTVAL ist die Standardeinstellung. Sie müssen die Option COLATTVAL_XML angeben, wenn ungültige Zeichen nur in Spaltennamen ersetzt werden sollen.

Tabelle 1. Zeichenersetzung für XML-Attributwerte und Elementwerte
Zeichen Ersetzung
< &lt;
> &gt;
&quot;
& &amp;
&apos;
ROWTAGSTRING
Mit der Option ROWTAGSTRING können Sie den Namen des Zeilentags ändern, den das Format XML zur Identifizierung jeder Zeile verwendet. Mit diesem Modifikator können Sie eine andere Zeichenfolgekonstante für den Tag angeben. Standardmäßig wird vom Wert "row" ausgegangen. Mit dieser Option können Sie die Ausgabe an Ihre spezifischen XML-Anforderungen anpassen.

Zum Beispiel:

FORMAT XML ROWTAGSTRING "line"

Wenn Sie Daten entladen und diese Option angegeben ist, wird der Tag "row" in der Ausgabedatei durch den Tag "line" ersetzt:

<?xml version="1.0" encoding="windows-1252" ?>
<table name="TBL_XML">
<line>
  <column name="NUMBER">123</column>
  <column name="NUMBER_NN">345</column>
</line>
</table>
MIGRATION
Mit dem Schlüsselwort MIGRATION können Sie das Standardformat für die Datenmigration angeben. Zu diesem Zeitpunkt funktioniert das Format MIGRATION auf dieselbe Weise wie das Format DEL. Das Schlüsselwort MIGRATION verwendet die folgende Option:
INTO tabellenname oder qualifier.tablename
Wenn Sie eine bestimmte Tabelle migrieren und eine explizite SELECT-Anforderung für diese Tabelle angeben, können Sie mit der Option INTO den Tabellennamen angeben. Wenn das Qualifikationsmerkmal und der Name der Zieltabelle sich von denen der Quellentabelle unterscheiden, geben Sie mit dieser Option die Qualifikationsmerkmale an. Optim High Performance Unload verwendet den Tabellennamen und den Qualifizierer aus der INTO-Klausel im entsprechenden Ladebefehl anstelle der Werte in der Quelltabelle.
Wichtig: Wenn Sie mit der Klausel INTO keinen Namen angeben, wird der Name der Quellentabelle in der Ladedatei verwendet.
JSON
Das Format JSON ist geeignet, um Dateien zu generieren, die in eine NoSQL-Datenbank wie Cloudant, CouchDB oder MongoDB importiert werden können.

Zusätzlich zur Liste der extrahierten Zeilen könnten die im Ausgabeformat JSON generierten Ausgabedateien auch eine Kopf- und Fußzeile enthalten, wenn die angegebene Task voraussetzt, dass die Zeilen von den zugehörigen Kopf- und Fußzeilen eingeschlossen sind.

Eine Tabellenzeile hat das folgende Layout:
  • Eine linke geschweifte Klammer.
  • Für jede Spalte ein Paar aus dem Spaltennamen und dem zugehörigen Wert, getrennt durch Doppelpunkt. Diese Spaltenpaare sind durch Kommas getrennt.
  • Eine rechte geschweifte Klammer.

Die Layouts für die Spalten und die zugehörigen Werte sind für alle Ziele gleich.

Die Angabe einer Klausel LOADDEST wirkt sich auf den Inhalt der generierten Ausgabedatei aus. Die Inhalte der zugehörigen Kopf- und Fußzeilen hängen vom ausgewählten NoSQL-Ziel ab (Cloudant, CouchDB oder MongoDB). Wenn keine Klausel LOADDEST angegeben ist, d. h. wenn kein bestimmtes Ziel ausgewählt ist, wird eine generische Ausgabedatei ohne für ein Ziel spezifische Inhalte generiert. Daher enthält die generierte Ausgabedatei in einem solchen Fall keine Kopf- und Fußzeile und ihr Inhalt hängt vom gewünschten Ziel ab.

Wenn eine Ausgabedatei mit dem Ausgabeformat JSON mit einem zugehörigen Hochladebefehl generiert wird, ist die Klausel LOADDEST obligatorisch.

Db2- und JSON-Datentypen:

Das Ausgabeformat JSON ist nicht kompatibel zu Spalten des Datentyps CLOB, BLOB, DBLOB oder XML. Ein Entladeprozess im Ausgabeformat JSON für eine SQL-Anweisung, die auf eine Spalte eines dieser Typen verweist, würde abgelehnt. Hauptgrund für diese Inkompatibilität ist, dass keine automatische, benutzerfreundliche Methode für die Zuordnung von LOB- oder XML-Daten zu JSON-Dokumenten gefunden wurde.

Bei den vom JSON-Ausgabeformat unterstützten Datentypen gibt es keine Unterscheidung zwischen numerischen Daten. Der Datentyp heißt number. Sein Wertelayout ist der numerische Wert ohne einschließende Zeichen. Daher werden die folgenden Db2 -Datentypen in diesen Datentyp formatiert:
  • SMALLINT
  • INTEGER
  • BIGINT
  • DECIMAL
  • REAL
  • DOPPELT
Die Zeichenfolgedatentypen Db2 , (VAR) CHAR und (VAR) GRAPHIC, die Zeitdatentypen Db2 , DATE, TIME und TIMESTAMP und der Datentyp DECFLOAT Db2 werden in den JSON-Datentyp stringformatiert. Sein Wertelayout ist der in Anführungszeichen eingeschlossene Wert.

Nullwerte werden im JSON-Datentyp namens null ausgedrückt, dessen Wert immer die konstante Zeichenfolge 'null' ohne einschließende Zeichen ist.

Ausgabeformate für Big Data
Die unterstützten Ausgabeformate für Big Data sind das Parquet-Format und das ORC-Format. Ihre Verwendung kann mit den Schlüsselwörtern PARQUET und ORC angegeben werden.
Wenn Sie ein Parquet- oder ORC-Ausgabeformat für eine Datenentladung angeben, ist es zwingend erforderlich, eine OUTFILE-Klausel anzugeben.
Um eine Datei im Big-Data-Format zu erhalten, entweder für ein Daten-Unloading oder eine Datenmigration, Optim High Performance Unload müssen auf dem Computer, auf dem eine solche Datei generiert werden soll, zwei interne Schritte ausgeführt werden:
  • Entladen der Daten von der Quelle in eine temporäre Datei im Trennzeichenformat: In diesem Schritt werden die Daten in eine Ausgabedatei im Format "DELIMITED" entladen, die am Anfang eine Kopfzeile mit den Spaltennamen der betreffenden Tabelle enthält.
  • Konvertierung dieser temporären, abgegrenzten Datei in eine andere Datei des angegebenen Big-Data-Formats: Dieser Schritt beruht auf der Ausführung eines Python -Skripts, das von Optim High Performance Unload und auf der Verwendung der PyArrow -Bibliothek basiert. Für die erfolgreiche Durchführung dieses zweiten Schritts müssen zwei Voraussetzungen erfüllt sein:
Vor der Durchführung des zweiten Schritts an der Maschine, an der er durchgeführt werden muss, wird die Python -Umgebung kontrolliert.
Für eine erfolgreiche Durchführung der Konvertierung von einer begrenzten Datei in eine Datei im Big-Data-Format muss genügend Speicherplatz vorhanden sein, um sowohl die temporäre als auch die endgültige Datei zu speichern. Sobald die Konvertierung abgeschlossen ist, wird die temporäre abgegrenzte Datei entfernt.
EXTERN
Das Format EXTERNAL ist das Format, das für die Schnittstelle zu den externen Db2 -Tabellen verwendet wird. Wenn sie einer Klausel DDLFILE zugeordnet ist, ermöglicht sie die Generierung eines Befehls zur Erstellung externer Tabellen. Das Ausgabeformat der generierten Datendateien hängt von dem Wert der Klausel FORMAT EXTERNAL ab, der TEXT, FIXED oder BINARY sein kann.
Der Befehl zur Erstellung einer externen Tabelle basiert immer auf einer eindeutigen Datendatei oder einer Gruppe von Datendateien gemäß der Namenskonvention, die für eine Datenverteilung auf Db2 -Ebene geeignet ist (eine einzelne Radix und eine Erweiterung mit einem Punkt und einer dreistelligen Zahl).
TEXT
Die Option TEXT entspricht einem Format mit Begrenzern. Es verhält sich intern wie das Format DELIMITED.
FEST
Das Format FIXED ist eine sequenzielle ASCII-Datei ohne Begrenzer mit Datensätzen fester Länge, sortiert nach Zeile und Spalte. Es verhält sich intern wie das ASC-Format.
BINARY
Das Binärformat ist ein binäres Format, bei dem es sich um ein internes Layout handelt, das von Db2 für externe Tabellen dieses Typs verwendet wird.
Für alle externen Formate können mithilfe der USING-Option Optionen angegeben werden, die sich auf die Art und Weise auswirken, wie ein zugehöriger Db2 -Befehl zur Erstellung einer externen Tabelle generiert wird. Die Option USING muss mindestens eine der Optionen enthalten, die in der Liste der Optionen des Formats EXTERNAL beschrieben sind. Sie können mehrere Optionen festlegen, indem Sie die Option USING gefolgt von einer durch Leerzeichen getrennten Liste der zu berücksichtigenden Optionen angeben. Die Beschreibung dieser gleichnamigen Optionen finden Sie in der Db2 -Dokumentation.
USING (ext_optionen)
Es gibt etwas zu erwähnen, das spezifisch für Optim High Performance Unload, bei der Verwendung der Optionen S3 und AZURE.
S3
Bei Angabe der Option S3 basiert die Generierung des Befehls für die Erstellung externer Tabellen auf der Verwendung verschiedener Parameter, deren Werte in der db2hpu.dest -Konfigurationsdatei in einem zugehörigen S3 -Abschnitt festgelegt werden müssen.
"Aliasname"
Optionaler Parameter. Der Zweck dieser Option besteht darin, mehrere Abschnitte zu unterstützen, die sich auf einen bestimmten Objektspeicher in der Konfigurationsdatei db2hpu.dest beziehen. Die Unterscheidung zwischen diesen erfolgt anhand des Aliasnamens. Sie muss dem Alias entsprechen, der in einem Abschnitt in Bezug auf den Objektspeicher festgelegt wurde, der in der Datei db2hpu.dest als konfiguriert betrachtet wird. Für den Wert muss die Groß-/Kleinschreibung beachtet werden. Wenn Sie eine solche Option angeben, Optim High Performance Unload wird in der Konfigurationsdatei db2hpu.dest ein Abschnitt gesucht, der dem Objektspeicher S3 entspricht und einen "Alias"-Parametersatz mit dem in Betracht gezogenen Alias enthält. Andernfalls, wenn diese Option nicht angegeben ist, wird der erste Abschnitt, der dem Objektspeicher S3 entspricht und in der Konfigurationsdatei db2hpu.dest gefunden wird, von der Aufgabe berücksichtigt Optim High Performance Unload aufgabe berücksichtigt.
AZURE
Bei Angabe der Option AZURE basiert die Generierung des Befehls zur Erstellung einer externen Tabelle auf der Verwendung verschiedener Parameter, deren Werte in der Konfigurationsdatei db2hpu.dest in einem zugehörigen Azure -Abschnitt festgelegt werden müssen.
"Aliasname"
Optionaler Parameter. Der Zweck dieser Option besteht darin, mehrere Abschnitte zu unterstützen, die sich auf einen bestimmten Objektspeicher in der Konfigurationsdatei db2hpu.dest beziehen. Die Unterscheidung zwischen diesen erfolgt anhand des Aliasnamens. Sie muss dem Alias entsprechen, der in einem Abschnitt in Bezug auf den Objektspeicher festgelegt wurde, der in der Datei db2hpu.dest als konfiguriert betrachtet wird. Für den Wert muss die Groß-/Kleinschreibung beachtet werden. Wenn Sie eine solche Option angeben, Optim High Performance Unload wird in der Konfigurationsdatei db2hpu.dest ein Abschnitt gesucht, der dem Objektspeicher Azure entspricht und einen "Alias"-Parametersatz mit dem in Betracht gezogenen Alias enthält. Andernfalls, wenn diese Option nicht angegeben ist, wird der erste Abschnitt, der dem Objektspeicher Azure entspricht und in der Konfigurationsdatei db2hpu.dest gefunden wird, von der Aufgabe berücksichtigt Optim High Performance Unload aufgabe berücksichtigt.
Generierung eines Befehls zur Erstellung einer externen Tabelle:
Bei der Ausführung einer Entladetask mit dem Format EXTERNAL kann auch ein Befehl generiert werden, der für eine nachfolgende Erstellung einer externen Tabelle auf der Basis der abgerufenen Ausgabedatei bereit ist. Diese Funktionalität kann durch Angabe einer Klausel DDLFILE in der Steuerdatei aktiviert werden. In einem solchen Fall basiert der generierte Befehl auf der Syntax, die für die Erstellung einer externen Tabelle spezifisch ist, und man kann sich auf seinen Inhalt durch Verwendung von Optionen seiner Wahl in seiner Spezifikation der Klausel FORMAT EXTERNAL verhalten.
Erstellung einer externen Tabelle auf der Basis einer Datendatei an einem fernen Standort:
Eine externe Tabelle kann auf eine Datei verweisen, deren Position eine ferne für die Umgebung ist, aus der diese externe Tabelle erstellt wird. Es gibt folgende Situationen:
  • eine externe Tabelle, die auf einer Datei basiert, die sich in einem S3 -kompatiblen Objektspeicher befindet,
  • Eine externe Tabelle, die auf einer Datei basiert, die sich in einem Microsoft Azure -Blobspeicher befindet,
  • Eine externe Tabelle, die aus einer Db2 -Clientumgebung erstellt wurde und auf einer Datei basiert, die sich auf dem katalogisierten Db2 -Server befindet.
Diese verschiedenen Fälle entsprechen den Optionen S3, AZURE und REMOTESOURCE LOCAL einer Erstellungsanweisung für eine externe Tabelle. Je nach dem zu berücksichtigenden fernen Standort kann in der Steuerdatei eine Klausel FORMAT EXTERNAL mit den Optionen S3, AZURE bzw. REMOTESOURCE LOCAL angegeben werden.
Für ein solches Szenario einer externen Tabelle, die auf einer Remote-Datei basiert, Optim High Performance Unload kann auch durch eine eindeutige Ausführung zur Vorbereitung einer nachfolgenden Erstellung einer solchen externen Tabelle verwendet werden, indem Folgendes generiert werden kann:
  • Datendatei, die einer externen Tabelle zugeordnet werden kann
  • Ein Befehl zur Erstellung einer externen Tabelle, der auf die Datendatei als ferne Datei verweist, die sich an der entsprechenden Position befindet
  • Hochladebefehl, der für eine nachfolgende Übertragung der Datendatei an den entsprechenden fernen Standort verwendet werden kann
Wenn eine Klausel FORMAT EXTERNAL angegeben wird, kann die Generierung des Befehls zur Erstellung externer Tabellen aktiviert werden, indem in der Steuerdatei eine Klausel DDLFILE angegeben wird, die auf eine Datei verweist, die sie enthält.
Um auch die Generierung eines Hochladebefehls zu aktivieren, müssen in der Steuerdatei die Klauseln LOADFILE und LOADDEST angegeben werden. Die Klausel LOADFILE ermöglicht die Angabe der Datei, die den Hochladebefehl enthält. Die Klausel LOADDEST ermöglicht die Angabe eines Ziels des erwarteten Typs und verweist auf einen Abschnitt der Konfigurationsdatei für Ziele, die die Parameter enthalten, die für die Generierung des Hochladebefehls mit dem entsprechenden Inhalt erforderlich sind.
Nachdem man Optim High Performance Unload zu diesem Zweck ausgeführt hat, kann man dann:
  • Führen Sie den generierten Hochladebefehl aus, um die Datendatei an die entsprechende ferne Position zu kopieren, damit sie von einer externen Tabelle berücksichtigt wird.
  • Befehl zur Erstellung der externen Tabelle ausführen, um die externe Tabelle zu erstellen
In einem solchen Szenario gelten einige Regeln und Einschränkungen für die Klauseln FORMAT EXTERNAL, LOADFILE und LOADDEST:
  • Die Klauseln LOADFILE und LOADDEST müssen zusammen angegeben werden.
  • Die Klauseln LOADDEST und FORMAT EXTERNAL müssen relativ zum Zieltyp konsistent angegeben werden.
  • für ein S3 -kompatibles Ziel oder ein Microsoft Azure -Ziel müssen sich die LOADDEST- und FORMAT EXTERNAL-Klauseln auf denselben Abschnitt der Konfigurationsdatei für Ziele beziehen: Entweder dürfen sich beide Klauseln nicht auf ein Ziel-Alias beziehen oder sie müssen sich auf dasselbe Ziel-Alias beziehen.
Für eine Datendatei, die sich in einem S3 -kompatiblen Objektspeicher befindet, geben Sie diese Klauseln wie folgt an:
  • FORMAT EXTERNAL TEXT | FIXED | BINARY USING (S3 ["alias"])
  • LOADDEST (OBJEKTSPEICHER AWS_S3 ["Aliasname"])
Geben Sie für eine Datendatei, die sich in einem Microsoft Azure -Blobspeicher befindet, die folgenden Klauseln an:
  • FORMAT EXTERNAL TEXT | FIXED | BINARY USING (AZURE ["alias"])
  • LOADDEST (OBJECT_STORAGE AZURE ["Aliasname"])
Geben Sie für eine Datendatei, die sich auf einem Db2 -Server befindet, und eine externe Tabelle, die mit einem Befehl erstellt werden soll, der von einem Db2 -Client ausgeführt wird, diese Klauseln wie folgt an:
  • FORMAT EXTERNAL TEXT | FIXED | BINARY USING (REMOTESOURCE LOCAL)
  • LOADDEST (OBJECT_STORAGE FILESYSTEM ["alias"])
Implizite Optionen:
Beim Generieren eines externen Tabellen-Erstellungsbefehls können diesem Befehl je nach Ausführungsfall implizit einige Optionen durch Optim High Performance Unload, je nach Ausführungsfall. In der folgenden Liste werden die betroffenen Optionen beschrieben:
CCSID
Diese Option wird immer dem generierten Befehl zur Erstellung externer Tabellen hinzugefügt und ihr Wert basiert auf dem Ausgabegebietsschema, das für die Optim High Performance Unload ausführung.
DATENOBJEKT
Diese Option wird dem generierten Befehl zur Erstellung externer Tabellen immer hinzugefügt und ihr Wert entspricht dem Pfad und Namen der generierten Ausgabedatei. Wenn die externe Tabelle nicht auf einer Datei basieren soll, die sich in einer S3 -kompatiblen oder Microsoft Azure -Umgebung befindet, und wenn die OUTFILE-Klausel verwendet wird, muss sie mit einem absoluten Pfad angegeben werden.
PARTITION
Wenn die erneute Datenpartitionierung aktiviert ist, wird diese Option hinzugefügt und mit einer durch Kommas getrennten Liste der betroffenen Partitionsnummern festgelegt. Sie ermöglicht es Db2 , die partitionierten Ausgabedateien korrekt zu verarbeiten, wenn anschließend die Erstellung der externen Tabelle ausgeführt wird. Das Muster der Datendateinamen muss der Namenskonvention entsprechen, die für eine Datenverteilung auf Db2 -Ebene geeignet ist (eine einzelne Basis und eine Erweiterung mit einem Punkt und einer dreistelligen Zahl).
Optionskompatibilität:
Für alle Optionen, die in der Klausel FORMAT EXTERNAL verfügbar sind, sind hier die Ausgabeformatschlüsselwörter, mit denen sie kompatibel sind:
Option TEXT FEST BINARY Auswirkung auf entladene Daten
AZURE X X X
CARDINALITY X X X
CRINSTRING X X
CTRLCHARS X X
DECIMALDELIM X X X
DECPLUSBLANK X X X
BEGRENZER X X
ENCODING X
EscapeChar X
FILLRECORD X X
IgnoreZero X
LFINSTRING X
PROTOKOLLVERZEICHNIS X X X
MaxErrors X X X
MAX_ZEILEN X X
NICHTPROTOKOLL X X X
NULLVALUE X X
QUOTEDVALUE X X
DATENSATZBEGRENZER X X X
REMOTESOURCE X X X
REQUIREQUOTES X
SKIPROWS X X
SOCKETBUFSIZE X X X
STRICTNUMERIC X X
S3 X X X
TIMEROUNDNANOS.KGM X X X
TRIMBLANKS X X
TruncString X
Einschränkungen:
Es gibt einige Einschränkungen für die Spezifikation einer Steuerdatei, wenn die Verwendung einer Klausel FORMAT EXTERNAL in Betracht gezogen wird.
Es ist nicht möglich, einen zuverlässigen Befehl zur Erstellung einer externen Tabelle zu erstellen, wenn die Klausel OUTFILE:
  • enthält die Vorlagenschlüsselwörter%{listValFile} oder%{listValDir} .
  • wird mit einer durch Kommas getrennten Liste von Dateien angegeben.
  • impliziert die Erstellung von Ausgabedateien, deren Namen auf Partitionsnummern verweisen, und diese Namen sind für eine partitionierte Umgebung nicht geeignet.
Die Klauseln LOADMODE, LOBFILE oder MIGRATE können nicht angegeben werden
Die Klausel LOADDEST kann nicht mit einer anderen Option als den Werten AWS_S3, AZURE oder FILESYSTEM angegeben werden.
Wenn die Klausel LOADDEST nicht angegeben wird, kann die Klausel LOADFILE nicht angegeben werden.
Wenn eine Klausel FILEMAXSIZE angegeben wurde und die Ausgabe in mehrere Dateien aufgeteilt wird, verweist der Befehl zur Erstellung externer Tabellen nur auf die erste generierte Ausgabedatei, da Db2 mehrere Eingabedatendateien über die Option DATAOBJECT nicht verarbeiten kann.
Die Optionen REQUIREQUOTES TRUE und QUOTEDVALUE NO der Klausel FORMAT EXTERNAL können nicht zusammen angegeben werden, da diese Spezifikationen nicht kompatibel sind.
Die Optionen AZURE, REMOTESOURCE und S3 der Klausel FORMAT EXTERNAL schließen sich gegenseitig aus.