# Datenbank-Connector

## 🔃 Was ist der Database Connector?

Mit diesem Connector können wir unser Panel mit jeder Tabelle mit einem Primärschlüssel oder jeder View in Datenbanken wie SQL Server, Oracle, Postgres, MySQL oder MariaDB verbinden.

{% hint style="info" %}
Mit dem Database Connector können Sie beispielsweise eine vorhandene Kundentabelle aus Ihrer Datenbank mit ngSurvey verbinden und die Informationen über diese Kunden in Ihren Umfragen wiederverwenden.
{% endhint %}

## ➕ Hinzufügen eines Database Connector

Um einen ngSurvey Connector hinzuzufügen, können Sie auf die **New panel** Schaltfläche auf dem [Panel-Verwaltung](https://docs.ngsurvey.com/de/panels) Bildschirm klicken und entweder den **Database Table Connector** oder den **Database View Connector**.

![](https://133942686-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M8fLhS0bmfBRyq0HdUm%2F-MC3MOhW6caE3tR3ItaK%2F-MC3MrjV7E4As9poIQ7I%2Fcaptured%20\(38\).gif?alt=media\&token=fe2efc02-075a-42b1-9d07-e0813163dcd2)

{% hint style="warning" %}
Auf der Tabelle, mit der Sie sich verbinden möchten, wird ein Primärschlüssel benötigt; diese Primärschlüsselspalte wird automatisch der source uid-Spalte Ihres Panels zugeordnet.
{% endhint %}

## 🔅 Eigenschaften des Database Connector

* **`Datenbank-Verbindungszeichenfolge`** [Connection String](https://www.connectionstrings.com/sql-server/) zu Ihrer   Datenbank.
* **`Tabelle, die mit dem Panel verbunden werden soll`** Tabelle Ihrer Datenbank, die für Ihr Panel verwendet wird. Ihre Tabelle muss einen Primärschlüssel besitzen.
* **`Tabellenspalten zur Synchronisierung`** Spalten Ihrer Tabelle, die als Attribute verwendet werden.
* **`Sync-Modus`** ob die Datensynchronisation der Tabelle manuell aus dem [panel information box](https://docs.ngsurvey.com/de/panels/panel-information) oder automatisch ausgelöst wird.
* **`Art der Datensynchronisation`** welche Änderungen aus der Tabelle aktualisiert werden sollen, nachdem das Panel erstellt und die Daten zum ersten Mal synchronisiert wurden.
  * **Hinzufügen** wird neue Einträge aus der Tabelle zum Panel hinzufügen.
  * **Aktualisieren** wird Änderungen aus der Tabelle im Panel aktualisieren.
  * **Löschen** wird jede gelöschte Zeile aus der Tabelle im Panel löschen.&#x20;
* **`Connector-Quell-Update-Modus`** wie sich Datenänderungen innerhalb von ngSurvey auf die verbundene Tabelle auswirken.
  * **Nach Genehmigung** erfordert, dass Sie Änderungen genehmigen, bevor diese zurück in die Tabelle übertragen werden.
  * **Live-Verbindung** aktualisiert die Tabelle sofort bei Änderungen, die auf der ngSurvey-Seite vorgenommen werden.
  * **Nicht erlaubt** keine Änderungen oder Aktualisierungen werden zurück in die SQL-Tabelle übertragen.
* **`Intervall der Quellensynchronisation`**&#x4D;inuten, nach denen die Tabelle erneut synchronisiert wird, wenn der Sync-Modus auf Automatic gesetzt ist.

## &#x20;[✅](https://emojipedia.org/check-mark-button/) **Unterstützte Panel Connector Modi**

* **Read**   Ermöglicht die Synchronisierung von Struktur und Daten aus einer Tabelle oder View.
* **Aktualisieren** Ermöglicht [bestehende Daten zu aktualisieren](https://docs.ngsurvey.com/de/form-management/form-designer/questions/panel-linking/panel-updating) in der verbundenen Tabelle.&#x20;

## ⚠️ **Bekannte Einschränkungen / Probleme**

Der Database Connector hat einige der unten aufgeführten Einschränkungen.

* Ein Primärschlüssel: Derzeit werden nur Tabellen mit einem einzelnen Primärschlüssel unterstützt.
* Es ist nicht möglich, neue Spalten zur Synchronisierung hinzuzufügen, nachdem das Panel erstellt wurde.

## 🔢 Unterstützte SQL Server-Typen

Die folgenden SQL Server-Spaltentypen werden derzeit für die Synchronisierung unterstützt.

* bigint
* int
* smallint
* tinyint
* bit
* decimal
* numeric
* money
* smallmoney
* float
* real
* datetime
* smalldatetime
* char
* varchar
* text
* nchar
* nvarchar
* ntext
