Connect-Befehl
Mit dem connect
Befehl kann einfach überprüft werden, ob eine Verbindung zu einer bestehenden VCDB v5
Instanz
hergestellt werden kann, bevor nachfolgende Operationen wie das Importieren oder Exportieren von Daten ausgeführt
werden.
Optionen
Der connect
Befehl erbt globale Optionen vom Hauptbefehl vcdb
. Zusätzlich definiert
er allgemeine Datenbank-Verbindungsoptionen und unterstützt die Ausgabe des Verbindungsstatus im JSON-Format.
Globale Optionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Eine oder mehrere Argumentdateien mit Optionen. |
|
|
Hilfenachricht anzeigen und beenden. |
|
|
Versionsinformationen ausgeben und beenden. |
|
|
Konfiguration aus dieser Datei laden. |
|
|
Log-Level: |
|
|
Log-Nachrichten in diese Datei schreiben. |
|
|
Deaktiviert Log-Nachrichten auf der Konsole. |
|
|
Datei mit der Prozess-ID erstellen. |
|
|
Plugins aus diesem Verzeichnis laden. |
|
|
Plugins mit passendem vollqualifiziertem Klassennamen aktivieren oder deaktivieren. |
|
Weitere Informationen zu den globalen Optionen und Nutzungshinweise siehe hier.
Ausgabeoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Ausgabe in eine JSON-Datei schreiben. Mit |
Datenbank-Verbindungsoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Hostname des VCDB Datenbankservers. |
|
|
Port des VCDB Datenbankservers. |
5432 |
|
Name der VCDB-Instanz, zu eine Verbindung hergestellt werden soll. |
|
|
Schema, das beim Verbinden zur VCDB verwendet werden soll. |
|
|
Benutzername für die Verbidung zur VCDB. |
|
|
Passwort für die Verbidung zur VCDB. Leer lassen, um zur Eingabe aufgefordert zu werden. |
|
|
Datenbankspezifische Verbindungsparameter. |
Weitere Informationen zu den Datenbank-Verbindungsoptionen und Nutzungshinweise siehe hier.
Verwendung
Testen einer Verbindung
Um die Verbindung zu einer VCDB v5
Instanz zu testen, muss der connect
Befehl mit den Verbindungsparametern für die
entsprechende Datenbank ausgeführt werden. Wie hier beschrieben, können die Verbindungsparameter
über die oben beschriebenen Kommandozeilenoptionen oder alternativ durch eine JSON-Konfigurationsdatei oder Umgebungsvariablen
definiert werden.
Das folgende Beispiel zeigt die Ausführung des Befehls mit Kommandozeilenoptionen:
-
Linux
-
Windows CMD
./vcdb connect \
-H localhost \
-d citdb \
-u citydb_user \
-p mySecret \
-S mySchema
vcdb connect ^
-H localhost ^
-d citdb ^
-u citydb_user ^
-p mySecret ^
-S mySchema
Beim Ausführen des Befehls werden Log-Meldungen in der Konsole ausgegeben, die den Fortschritt des Verbindungsversuchs dokumentieren. Bei erfolgreicher Verbindung werden die Datenbankdetails der verbundenen VCDB-Instanz angezeigt. Im Fehlerfall enthält die Log-Ausgabe eine entsprechende Fehlermeldung, die bei der Identifizierung der Fehlerursache unterstützt. Darüber hinaus verwendet der Befehl Exit-Codes, die eine automatische Auswertung des Verbindungsversuchs ermöglichen:
-
0
: Verbindung erfolgreich. -
1
: Verbindung aufgrund von Fehlern oder Problemen fehlgeschlagen. -
2
: Ungültige Eingabe für eine Option oder einen Parameter.
JSON-Ausgabe
Der Verbindungsstatus kann mithilfe der --output
Option auch im JSON-Format ausgegeben werden. Wird ein
Dateipfad angegeben, dann wird die JSON-Ausgabe in diese Datei geschrieben. Wird anstelle eines Dateipfads -
verwendet, dann erfolgt die JSON-Ausgabe auf stdout
. Auf diese Weise lässt sich die JSON-Ausgabe einfach umleiten und
mit externen Werkzeugen weiterverarbeiten.
Die folgenden Beispiele zeigen die Verwendung der Option --output
.
-
Linux
-
Windows CMD
./vcdb connect [...] -o status.json # JSON in Datei schreiben
./vcdb connect [...] -o - # JSON auf stdout ausgeben
./vcdb connect [...] -o - > status.json # stdout in Datei umleiten
vcdb connect [...] -o status.json # JSON in Datei schreiben
vcdb connect [...] -o - # JSON auf stdout ausgeben
vcdb connect [...] -o - > status.json # stdout in Datei umleiten
Die JSON-Ausgabe enthält Informationen darüber, ob die Verbindung erfolgreich war oder fehlgeschlagen ist, zusammen mit relevanten Datenbankdetails oder Fehlermeldungen.
-
Success example
-
Error example
{
"connectionStatus": "success",
"connection": {
"host": "localhost",
"port": 5432,
"database": "citydb",
"schema": "mySchema",
"user": "citydb_user"
},
"database": {
"name": "VC Database",
"version": "5.0.0",
"dbms": {
"name": "PostgreSQL",
"version": "17.2",
"properties": {
"postgis": {
"name": "PostGIS",
"value": "3.5.0"
},
"postgis_sfcgal": {
"name": "SFCGAL",
"value": "1.5.2"
}
}
},
"hasChangelogEnabled": false,
"crs": {
"srid": 25832,
"identifier": "urn:ogc:def:crs:EPSG::25832",
"name": "ETRS89 / UTM zone 32N"
}
}
}
{
"connectionStatus": "failure",
"connection": {
"host": "localhost",
"port": 5432,
"database": "citydb",
"schema": "mySchema",
"user": "citydb_user"
},
"error": {
"causes": [
{
"message": "The requested schema 'mySchema' is not a VCDB schema.",
"exception": "org.citydb.database.DatabaseException"
}
]
}
}
Die JSON-Struktur enthält folgende Angaben:
-
"connectionStatus"
: Ergebnis des Verbindungsversuchs, entwedersuccess
oderfailure
. -
"connection"
: Die für den Verbindungsversuch verwendeten Parameter. -
"database"
(bei erfolgreicher Verbindung): Datenbankname, Version, DBMS-spezifische Erweiterungen, Eigenschaften und CRS-Details. -
"error"
(im Fehlerfall): Eine oder mehrere Fehlerursachen mit Beschreibung und zugehöriger Exception zur Identifzierung des Verbindungsproblems.
Die Struktur der JSON-Ausgabe wird durch die JSON Schema-Datei connection-status.json.schema definiert, die sich im
Ordner json-schema des vcdb-tool Installationsverzeichnisses befindet.
|