## CONNECT-Anweisung (connect_statement)

Eine CONNECT-Anweisung (connect_statement) eröffnet eine Datenbanksitzung und eine Transaktion eines Datenbankbenutzers.

### Syntax

<connect_statement> ::=
CONNECT <parameter_name> IDENTIFIED BY <parameter_name> [<connect_option> ...]
| CONNECT <parameter_name> IDENTIFIED BY <password> [<connect_option> ...]
| CONNECT <user_name> IDENTIFIED BY <parameter_name> [<connect_option> ...]
| CONNECT <user_name> IDENTIFIED BY <password> [<connect_option> ...]

<connect_option> ::=
SQLMODE <INTERNAL_ANSI_DB2_ORACLE>
| ISOLATION LEVEL <unsigned_integer>
| TIMEOUT <unsigned_integer>

<INTERNAL_ANSI_DB2_ORACLE> ::= INTERNAL | ANSI | DB2 | ORACLE

### Erläuterung

Bei zulässiger Kombination der Werte von Parametername/Benutzername und Parametername/Kennwort eröffnet der Benutzer eine Datenbanksitzung und erhält Zugang zur Datenbankinstanz. Er ist damit der aktuelle Benutzer in dieser Datenbanksitzung.

Es wird implizit eine Transaktion eröffnet.

Jede CONNECT-Option connect_option darf nur einmal angegeben werden.

#### SQLMODE

Mit der Angabe SQLMODE <INTERNAL|ANSI|DB2|ORACLE> kann der SQL-Modus ausgewählt werden. Vorschlagswert ist der SQL-Modus INTERNAL.

#### ISOLATION LEVEL

Für jede neu eröffnete Transaktion gilt der in der CONNECT-Anweisung angegebene Isolation-Level, der die Sperrbetriebsart festlegt.

Der Isolation-Level wird durch eine Integer-Zahl ohne Vorzeichen nach den Schlüsselwörtern ISOLATION LEVEL festgelegt. Folgende Werte sind zulässig: 0, 1, 2, 3, 10, 15, 20 und 30. Fehlt die Angabe eines Isolation-Levels, wird der Isolation-Level 1 angenommen.

Siehe auch:

Konzepte des Datenbanksystems, Isolation-Level

#### TIMEOUT

Der angegebene Timeout-Wert muss kleiner oder gleich dem Datenbankparameter SESSION_TIMEOUT sowie dem benutzerspezifischen Timeout-Wert des Benutzers oder der Benutzergruppe sein. Anderenfalls wird beim Anmelden ein Fehler geliefert.

Wenn kein Timeout-Wert angegeben wird, dann wird der kleinere der beiden anderen Werte als Timeout-Wert angenommen.

Wird für den TIMEOUT-Wert 0 angegeben, so erfolgt keine Überprüfung der Inaktivitätsdauer. Das kann dazu führen, dass Datenbankressourcen nicht wieder zur Verfügung stehen, obwohl die zugehörige Anwendung schon, ggf. durch einen Abbruch, ohne eine RELEASE-Anweisung beendet wurde.

#### Benutzer mit dem Attribut NOT EXCLUSIVE

Wenn ein Benutzer mit dem Attribut NOT EXCLUSIVE definiert wurde, kann er mehrere Sitzungen zur gleichen Zeit eröffnen. Wenn dies der Fall ist oder zwei Benutzer derselben Benutzergruppe zur gleichen Zeit eine Sitzung eröffnet haben, gelten die Sitzungen als verschieden, d. h. Sperranforderungen der beteiligten Sitzungen können kollidieren.

Siehe auch:

CREATE USER-Anweisung (create_user_statement)