> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/input-output/communication/sql-db-client-connect.md).

# SQL-DB Client Connect

Dieser Funktionsblock wird verwendet, um eine Verbindung zu einer SQL-Datenbank (MySQL, PostgreSQL, MSSQL, SQLite) zu konfigurieren und herzustellen. Verwenden Sie ihn, um einen persistenten Datenbank-Client zu erstellen, den andere Blöcke zum Ausführen von Abfragen oder für Datenoperationen verwenden können.

## 📥 Eingänge

Dieser Funktionsblock hat keine Eingangsanschlüsse.

## 📤 Ausgänge

* `DB Client`\
  Ein wiederverwendbares Datenbank-Client-Objekt, das von anderen Blöcken (z. B. `SQL-DB Operations`) verwendet werden kann, um Abfragen und Transaktionen auszuführen.
* `Connection Success`\
  Ein Boolean, der anzeigt, ob die Verbindung erfolgreich hergestellt wurde.

## 🕹️ Steuerungen

* `Database Type`\
  Ein Dropdown, um den Datenbanktyp auszuwählen (MySQL, PostgreSQL, MSSQL, SQLite). Bei Auswahl von `SQLite` wird die UI vereinfacht, da Host/Port/User/Password nicht erforderlich sind.
* `Host`\
  Hostname oder IP-Adresse des Datenbankservers. Für `SQLite` ausgeblendet.
* `Database`\
  Name der Datenbank. Bei `SQLite` wird dieses Feld als Pfad zur Datenbankdatei verwendet.
* `Port`\
  TCP-Port des Datenbankservers. Für `SQLite` ausgeblendet.
* `User`\
  Datenbank-Benutzername. Für `SQLite` ausgeblendet.
* `Password`\
  Datenbank-Passwort. Für `SQLite` ausgeblendet.

Hinweis: Änderungen an einem dieser Felder setzen die bestehende Verbindung zurück und lösen beim nächsten Auswerten des Blocks einen neuen Verbindungsversuch aus.

## 🎯 Features

* Einfache Multi-Database-Unterstützung mit einer einheitlichen UI für gängige SQL-Backends.
* `SQLite`-Kompatibilität mit reduzierten Feldern bei Auswahl einer dateibasierten Datenbank.
* Liefert ein einsatzbereites `DB Client` und eine `Connection Success`-Flag für nachgelagerte Logik und Fehlerbehandlung.
* Automatische Wiederverbindung bei erkannten Konfigurationsänderungen.

## 📝 Nutzungshinweise

1. Wählen Sie `Database Type`, das zu Ihrem Server passt.
2. Füllen Sie `Host`, `Port`, `User`, `Password` und `Database` entsprechend aus (bei `SQLite` geben Sie den Dateipfad in `Database` an).
3. Führen Sie Ihr Szenario aus oder werten Sie den Block aus. Der Block versucht, eine Verbindung herzustellen, und setzt `Connection Success` entsprechend.
4. Verwenden Sie den bereitgestellten `DB Client` zusammen mit `SQL-DB Operations`, um Abfragen, Inserts, Updates oder andere Datenbankaufgaben durchzuführen.
5. Wenn Sie Verbindungsfelder ändern, setzt der Block die aktuelle Verbindung zurück und versucht beim nächsten Auswerten erneut, die Verbindung herzustellen.

## 📊 Bewertung

Bei der Auswertung validiert der Block die angegebenen Parameter und versucht, eine Verbindung herzustellen. Bei Erfolg stellt er über die Ausgabe `DB Client` einen wiederverwendbaren Client bereit und setzt `Connection Success` auf true. Bei einem Fehler protokolliert er einen Fehler und setzt `Connection Success` auf false.

## 💡 Tipps und Tricks

* Kombinieren Sie mit `SQL-DB Operations`, um Abfragen auszuführen und Ergebnisse in den Flow zurückzugeben.
* Verwenden Sie `Data to JSON`, um komplexe Ergebnisse zu serialisieren, bevor Sie sie in Dateien schreiben oder über ein Netzwerk senden.
* Nutzen Sie `CSV Export` oder `Image Logger` (für bildbezogene Metadaten), um Ergebnisse aus Datenbankabfragen zu persistieren.
* Verwenden Sie `Data Write Local` oder `Data Write Global`, um den `DB Client` oder jüngste Abfrageergebnisse zur Wiederverwendung in anderen Projektteilen zu speichern.
* Nutzen Sie `Debug Input`, um rohe Ausgaben von `SQL-DB Operations` beim Erstellen und Debuggen des Szenarios zu inspizieren.

## 🛠️ Fehlersuche

* Verbindung schlägt fehl, obwohl die Zugangsdaten korrekt sind: Prüfen Sie den Netzwerkzugang zum `Host` und ob der gewählte `Port` offen und erreichbar ist.
* Bei Verwendung von `SQLite`: Stellen Sie sicher, dass der in `Database` angegebene Pfad zugänglich ist und die Anwendung Lese-/Schreibrechte für diese Datei hat.
* Wenn Konfigurationsänderungen nicht zu greifen scheinen: Bearbeiten Sie ein beliebiges Steuerelement (z. B. `Host`), um den Block zum Zurücksetzen und erneuten Herstellen der Verbindung zu zwingen.
* Wenn Sie Rückgabedaten während der Entwicklung prüfen möchten, hängen Sie `SQL-DB Operations` und `Debug Input` an, um Antworten zu inspizieren, bevor Sie sie weiter integrieren.
