Datenbank Konnektor

Der Datenbank Konnektor ist ein universeller Konnektor für den Zugriff auf relationale SQL-Datenbanken.
Er ermöglicht das Lesen, Einfügen, Aktualisieren und Löschen von Datensätzen sowie die Ausführung eigener SQL-Anweisungen.
Damit können sowohl Standarddatenbankoperationen als auch komplexe Datenprozesse direkt innerhalb von Syncler abgebildet werden.


Unterstützte Datenbanktypen

Der Konnektor unterstützt eine Vielzahl gängiger SQL-Datenbanken:

  • Microsoft SQL Server
  • Oracle
  • MySQL
  • ODBC
  • PostgreSQL
  • MariaDB

Der gewünschte Datenbanktyp wird über ein Auswahlfeld in der Konfiguration festgelegt.
Abhängig von der gewählten Datenbank unterscheiden sich die erforderlichen Verbindungsparameter.


Voraussetzungen

Zur Nutzung des Datenbank Konnektors werden die Zugangsdaten zur Datenbank benötigt.
Diese bestehen in der Regel aus Serveradresse, Benutzername, Passwort und ggf. spezifischen Datenbank- oder Schemaangaben.

Einstellung Beschreibung
Datenbankserver Hostname oder IP-Adresse des Servers
Benutzer Datenbankbenutzer mit ausreichenden Lese- und Schreibrechten
Passwort Passwort des Datenbankbenutzers
Datenbankname Name der Datenbank, auf die zugegriffen wird
Datenbank-Port Kommunikationsport der Datenbank (z. B. 1521 für Oracle, 3306 für MySQL, 5432 für PostgreSQL)
Service-Name (Oracle) Service-Name anstelle des Datenbanknamens
ODBC DSN Datenquellenname für ODBC-Verbindungen
Integrierte Sicherheit Verwendung des Windows-Authentifizierungsmodus anstelle von Benutzer/Passwort
ODBC-Treiber Name des verwendeten ODBC-Treibers
Datenbank-Schema Optionales Schema-Präfix für Tabellen (z. B. dbo. oder public.)

Hinweis:
Einige Datenbanken (z. B. Oracle oder ODBC-Verbindungen) erfordern zusätzliche Einstellungen wie Service-Namen oder DSN-Einträge.


Einrichtung

  1. Öffnen Sie in Syncler den Bereich Systeme und klicken Sie auf „Neues System anlegen“.
  2. Wählen Sie als Systemtyp „Datenbank“ aus.
  3. Wählen Sie im Feld „Datenbanktyp“ die gewünschte Datenbank (z. B. SQL Server oder Oracle).
  4. Tragen Sie die erforderlichen Zugangsdaten (Server, Benutzer, Passwort usw.) ein.
  5. Nach erfolgreicher Prüfung kann das Schema definiert werden.

Schema-Definition

Im Bereich „Tabellen“ stehen verschiedene Werkzeuge zur Verfügung, um das Schema der Datenbank zu definieren.
Das Schema beschreibt, welche Tabellen, Felder und Beziehungen im Konnektor verfügbar sind.

1. Automatische Schemadefinition

Die einfachste Variante besteht darin, die gewünschten Tabellen kommagetrennt in das Feld „Tabellen“ einzutragen.
Syncler analysiert diese Tabellen und erzeugt automatisch entsprechende Schemaobjekte.

Diese automatisch erzeugten Objekte enthalten zunächst keine Änderungsinformationen.
Zur Erkennung von Änderungen kann im Universal-Sync die Eigenschaft
„Alternative Spalte für LastDatetime“ oder „Alternative Spalte für LastVersion“ angegeben werden.

Beispiel:

Tabellen: Kunden, Auftraege, Artikel

2. Geschachtelte Datentypen

Für komplexe Tabellenbeziehungen, z. B. Haupt- und Positionsobjekte, stehen zwei Varianten zur Verfügung:

Variante 1: Klassische SQL-Abfrage-Variante

  • Es werden zwei SQL-Abfragen definiert:
    eine für das Hauptobjekt und eine für die Positionsliste.
  • In der Positionslisten-Abfrage können Platzhalter verwendet werden, um Beziehungen herzustellen.

Beispiel:

SELECT * FROM Auftrag WHERE Status = 'Offen';
SELECT * FROM Position WHERE AuftragId = #MainObjectId#;

Der Platzhalter #MainObjectId# wird beim Ausführen automatisch durch den Wert der Haupttabelle ersetzt.

Variante 2: Tabellen-Listen-Definition (empfohlen)

  • Kombination aus Tabellen- und Spaltennamen zur Definition von Beziehungen.
  • Ermöglicht die Definition einer Änderungserkennung über Änderungsdatum oder fortlaufende Nummer.
  • Pflegeleicht, da auf vollständige Tabellenebene basierend.

Beispiel:

Haupttabelle: Auftrag
Listentabelle: Position
Verknüpfung: Position.AuftragId = Auftrag.Id
Änderungsdatum: Position.LastModified

Diese Methode ist einfacher zu konfigurieren und wird von Syncler empfohlen.


3. Schema-Aktualisierung

Bei der Schema-Aktualisierung werden alle angegebenen Tabellen analysiert.
Bestehende Schemaobjekte werden automatisch erweitert oder ergänzt.
Wenn eine Tabellen-Listen-Definition vorhanden ist, wird das Schemaobjekt entsprechend angepasst.


SQL-Anweisungen

Mit dem Sync-Typ „SQL-Anweisung“ können beliebige SQL-Befehle direkt ausgeführt werden – unabhängig von Lese- oder Schreiboperationen.
Dies eignet sich für:

  • Batch-Verarbeitungen
  • Datenbereinigungen
  • Individuelle Reportabfragen
  • Aggregationen und Prozeduraufrufe

Beispiel:

UPDATE Kunden SET Status = 'aktiv' WHERE LetzteBestellung > '2024-01-01';

Besonderheiten

  • Unterstützt strukturierte und geschachtelte Datentypen.
  • Kompatibel mit allen gängigen SQL-Dialekten.
  • Änderungen werden erkannt, wenn ein Änderungsfeld (z. B. LastModified) angegeben ist.
  • Mit der Funktion „SQL-Anweisung“ lassen sich komplexe Prozesse direkt über Syncler ausführen.
  • Die Verbindung ist transaktionssicher, d. h. Änderungen werden nur bei erfolgreicher Verarbeitung übernommen.