## SET-Kommando

Mit diesem Kommando des Loader können Sie viele Eigenschaften einer Loader-Sitzung festlegen. Sie haben die Möglichkeit, voreingestellte Werte der Steuerparameter des Loader Ihren eigenen Anforderungen anzupassen.

Die neu eingestellten Werte gelten nur für die jeweilige Loader-Sitzung und müssen für die nachfolgenden Loader-Sitzungen bei Bedarf wieder neu eingestellt werden. Die Werte können durch ein erneutes SET-Kommando oder gegebenenfalls durch Loader-Kommandos geändert werden.

### Syntax

<set_commando> ::= SET
| SET <bool_spec>
| SET <code_page_spec>
| SET <isolation_level_spec>
| SET <null_spec>
| SET <number_spec>
| SET BACKUPTOOL <backup_tool_spec>
| SET CODETYPE <standard_code_spec>
| SET CONFIGURATION <exclude_include>
| SET CSV '/<separator>/<delimiter>/'
| SET CURRENT_SCHEMA = <schema_name>
| SET DATE <standard_date_mask>
| SET FORMAT <standard_date_mask>
| SET MAXERRORCOUNT <unigned_integer>
| SET TIME <standard_time_mask>
| SET TIMESTAMP <standard_timestamp_mask>
| SET TRANSACTION SIZE <unsigned_integer>

<bool_spec> ::= BOOLEAN '<true_value>/<false_value>'
<code_page_spec> ::= CODEPAGE [<literal>]
<isolation_level_spec> ::= ISOLATION LEVEL <unsigned_integer>
<null_spec> ::= NULL-Wert-Darstellung
<number_spec> ::= DECIMAL '/[<digit_grouping_symbol>]/<decimal_symbol>/'

<backup_tool_spec> ::= BACKINT | NETWORKER | TSM
<standard_code_spec> ::= Code-Spezifikation
<exclude_include> ::= EXCLUDE | INCLUDE
<separator> ::= <character>
<delimiter> ::= <character>
<schema_name> ::= <identifier>
<standard_date_mask> ::= Datumsangaben
<standard_time_mask> ::= Zeitangaben
<standard_timestamp_mask> ::= Zeitstempelangaben

SET-Kommando ohne weitere Angaben | Anzeige folgender Protokollinformationen: - Name und vollständiger Pfad des Loader-Protokolls - Vollständiger Pfad zu dem Verzeichnis, in dem der Loader die Pakete speichert, die im Transportmodus angelegt werden
BOOLEAN '<true_value>/<false_value>' | true_value: Definiert die Zeichenkette für Werte, die wahr sind, Vorschlagswert: TRUE false_value: Definiert die Zeichenkette für Werte, die falsch sind, Vorschlagswert: FALSE Die Zeichenketten dürfen höchstens 10 Zeichen lang sein. siehe auch: SQL-Referenzhandbuch, Zeichenkette
CODEPAGE [<literal>] | literal: Name der Code-Page Vorschlagswert: ISO-8859-1 Die Angabe eines leeren Wertes setzt eine einmal gesetzte Code-Page auf den Vorschlagswert zurück. siehe auch: SQL-Referenzhandbuch, Literal (literal)
ISOLATION LEVEL <unsigned_integer> | unsigned_integer: Wert des einzustellenden Isolation-Levels, Vorschlagswert: 3 siehe auch: SQL-Referenzhandbuch, CONNECT-Anweisung (connect_statement), Ganze Zahl ohne Vorzeichen (unsigned_integer)
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)
BACKUPTOOL <backup_tool_spec> <backup_tool_spec> ::= BACKINT | NETWORKER | TSM | Sie können festlegen, welches Sicherungswerkzeug für das Exportieren und Importieren mit Sicherungswerkzeugen anderer Anbieter verwendet werden soll. BACKINT: Sicherungswerkzeuge anderer Anbieter, die Backint for MaxDB und Backint for Oracle unterstützen NETWORKER: Sicherungswerkzeug NetWorker (Legato) TSM: Sicherungswerkzeug TSM (IBM/Tivoli)
CONFIGURATION <exclude_include> <exclude_include> ::= EXCLUDE | INCLUDE | EXCLUDE: Negativliste Die in der Konfigurationsdatei aufgeführten Tabellen sollen nicht bearbeitet werden. INCLUDE: Positivliste Die in der Konfigurationsdatei aufgeführten Tabellen sollen bearbeitet werden.
CSV '/<separator>/<delimiter>/' <separator> ::= <character> <delimiter> ::= <character> | separator: Zeichen, mit dem Datenfelder bei Verwenden des CSV-Formats voneinander getrennt werden (Separator-Darstellung), Vorschlagswert: Komma (,) Es muss genau ein Zeichen angegeben werden, das aus dem 7-Bit-ASCII-Zeichensatz stammt (nur 1 Byte lang). 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. siehe auch: SQL-Referenzhandbuch, Zeichen (character)
CURRENT_SCHEMA = <schema_name> <schema_name> ::= <identifier> | Das Schema schema_name wird als aktuelles Schema festgelegt Vorschlagswert: Schema, das dem angemeldeten Datenbankbenutzer zugeordnet ist siehe auch: SQL-Referenzhandbuch, Schemaname (schema_name), Bezeichner (identifier)
MAXERRORCOUNT <unigned_integer> | unsigned_integer: Anzahl der Fehler, die der Loader akzeptiert siehe auch: SQL-Referenzhandbuch, Ganze Zahl ohne Vorzeichen (unsigned_integer)
TRANSACTION SIZE <unsigned_integer> | unsigned_integer: Anzahl der Datensätze, nach denen ein COMMIT durchgeführt wird

### Erläuterung

Einige der Möglichkeiten des SET-Kommandos werden im Folgenden detaillierter erläutert.

#### SET <bool_spec>

Sie legen mit der Syntaxregel SET <bool_spec> die Zeichenkette 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 die gesamte Loader-Sitzung, sofern die Zeichenketten nicht durch ein erneutes SET BOOLEAN-Kommando geändert wird.

Sie haben die Möglichkeit, für einzelne Kommandos den aktuellen Wert durch Verwenden des Syntaxelements bool_spec zur Definition des Datenformats (field_format_spec) zu ändern.

#### SET <code_page_spec>

Soll bei der Konvertierung von CHAR-Daten von ASCII nach UCS2 eine bestimmte Code-Page verwendet werden, dann kann diese mit dem SET-Kommando SET <code_page_spec> angegeben werden.

SET CODEPAGE "8859-14"
SET CODEPAGE WINDOS-1252

##### Fall 1: Die für die Konvertierung zu verwendende Code-Page ist eine benutzerdefinierte Code-Page und noch nicht in der Systemtabelle CODEPAGE enthalten.

Um benutzerdefinierte Code-Pages dem Loader für Konvertierungen zugänglich zu machen, müssen Sie diese Code-Pages zuerst in die Systemtabelle CODEPAGE laden. Verfahren Sie dazu wie folgt:

...

1. Legen Sie im benutzerspezifischen Konfigurationsverzeichnis des Loader (Microsoft Windows: <drive>:\Documents and Settings\<user_id>\Application Data\sdb\loader\config, UNIX: $HOME/sdb/loader/config) eine Datei <literal>.txt an. Diese Datei muss wie die Dateien formatiert sein, die vom UNICODE-Konsortium unter ftp://ftp.unicode.org/Public/MAPPINGS/ zur Verfügung gestellt werden.

...
# Format: Three ab-separated columns
# Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX)
# Column #2 is the Unicode (in hex as 0xXXXX)
# Column #3 the Unicode name (follows a comment sign, '#')
...
0x00 0x0000 # NULL
0x01 0x0001 # START OF HEADING
0x02 0x0002 # START OF TEXT
0x03 0x0003 # END OF TEXT
0x04 0x0004 # END OF TRANSMISSION
0x05 0x0005 # ENQUIRY
0x06 0x0006 # ACKNOWLEDGE
0x07 0x0007 # BELL
0x08 0x0008 # BACKSPACE
0x09 0x0009 # HORIZONTAL TABULATION
0x0A 0x000A # LINE FEED

2. Melden Sie sich als Datenbanksystemadministrator an die Datenbankinstanz an.

3. Laden Sie die Code-Page in die Systemtabelle CODEPAGE.
Verwenden Sie dazu das SET-Kommando. Der Loader versucht bei der Bearbeitung des SET-Kommandos SET CODEPAGE <literal> zuerst, die angegebene Code-Page in der Systemtabelle CODEPAGE zu finden. Wenn sie dort nicht enthalten ist, versucht er die zugehörige Datei <literal>.txt zu finden. Wenn diese Datei vorhanden ist, wird die Datei gelesen und die Konvertierungstabelle in die Systemtabelle CODEPAGE eingetragen.
Wenn die Datei nicht gefunden wird und die Code-Page auch nicht in der Systemtabelle enthalten ist, bricht der Loader die Bearbeitung des SET-Kommandos mit einem Fehler ab.

Die benutzerdefinierte Code-Page steht bei erfolgreicher Abarbeitung des SET-Kommandos in der Systemtabelle CODEPAGE zur Verfügung.

Fall 2: Die für die Konvertierung zu verwendende Code-Page ist bereits in der Systemtabelle CODEPAGE enthalten.

Der Loader liest die gewünschte Konvertierungstabelle aus der Systemtabelle CODEPAGE. Alle nachfolgenden Konvertierungen der CHAR-Daten von ASCII nach UCS2 werden mit Hilfe dieser Konvertierungstabelle durchgeführt.

#### SET <isolation_level_spec>

Sie legen mit der Syntaxregel SET ISOLATION LEVEL <unsigned_integer> den Wert des Isolation-Levels (zulässige Werte: 0, 1, 10, 15, 2, 20, 3, 30) fest. Wenn Sie keinen Isolation-Level einstellen, wird der Isolation-Level 3 angenommen. Diese Einstellung gilt für die gesamte Loader-Sitzung, sofern der Isolation-Level nicht durch ein erneutes SET ISOLATION LEVEL-Kommando geändert wird.

Für einen Benutzer können Sie den Isolation-Level durch das USE USER-Kommando einstellen und damit den durch das SET-Kommando eingestellten Wert übersteuern.

#### SET <number_spec>

Sie legen mit der Syntaxregel SET <number_spec> fest, welche Zeichen bei Dezimalzahlen zu verwenden sind, um Tausender zu gliedern und die Dezimalstellen zu trennen. Werden keine Zeichen vorgeschlagen, verwendet der Loader den jeweiligen Vorschlagswert. Diese Einstellung gilt für die gesamte Loader-Sitzung, sofern das Nummernformat nicht durch ein erneutes SET DECIMAL-Kommando geändert wird.

SET DECIMAL '/ /,/'
Ergibt folgendes Nummernformat: 1 999 987,98

SET DECIMAL '///'
Ergibt folgendes Nummernformat (Vorschlagswert des Loader): 1999987.98

Sie haben die Möglichkeit, für einzelne Kommandos den aktuellen Wert durch Verwenden des Syntaxelements number_spec zur Definition des Datenformats (field_format_spec) zu ändern.

#### SET CSV '/<separator>/<delimiter>/'

Sie legen mit der Syntaxregel SET CSV '/<separator>/<delimiter>/' die Zeichen fest, die im Format CSV als Separator und Delimiter verwendet werden sollen. Diese Einstellung gilt für die gesamte Loader-Sitzung, sofern der Separator und der Delimiter nicht durch ein erneutes SET CSV-Kommando geändert wird.

Sie haben die Möglichkeit, für einzelne Kommandos den aktuellen Wert durch Verwenden des Syntaxelements separator_spec bzw. delimitor_spec zur Definition des Datenformats (csv_format_spec) zu ändern.

#### SET CURRENT SCHEMA = <schema_name>

Das angegebene Schema wird als aktuelles Schema festgelegt. Diese Einstellung gilt für die gesamte Loader-Sitzung, sofern das Schema nicht durch ein erneutes SET CURRENT SCHEMA-Kommando geändert wird. Für einen Benutzer können Sie diesen Wert durch ein USE USER-Kommando oder USE SCHEMA-Kommando einstellen und damit den durch das SET-Kommando eingestellten Wert übersteuern.

#### SET FORMAT <standard_date_mask>

Sie legen mit dem Kommando fest, in welchem Format der Loader Datums- und Zeitwerte in SQL-Anweisungen an die Datenbank übermittelt. Der Loader übermittelt bei der Bearbeitung von Loader-Kommandos Datums- und Zeitwerte grundsätzlich im Format INTERNAL. Sollen in SQL-Anweisungen eingebettete Datums- und Zeitwerte in einem anderen Format übermittelt werden, muss dieses mit diesem Kommando explizit eingestellt werden. Diese Einstellung gilt für die gesamte Loader-Sitzung, sofern das Format nicht durch ein erneutes SET FORMAT-Kommando geändert wird.

INSERT INTO <table_name> values ('2005-01-01', 1)

Da hier das Datum im Format ISO übermittelt werden soll, muss das Format mit SET FORMAT ISO gesetzt werden.

#### SET MAXERRORCOUNT <unsigned_integer>

Sie legen mit der Syntaxregel SET MAXERRORCOUNT <unsigned_integer> fest, wie viele Fehler der Loader bei der Ausführung eines einzelnen Kommandos akzeptiert, bevor er die Bearbeitung des Kommandos abbricht. Diese Einstellung gilt für die gesamte Loader-Sitzung, sofern die Fehleranzahl nicht durch ein erneutes SET MAXERRORCOUNT-Kommando geändert wird.

Siehe auch:

Aufbau einer Datenbanksitzung: Kommandos