Wählen Sie eine Zeile im Diff-Grid und verwenden Sie:
Beide Aktionen sind auch über das Menu Synchronisation erreichbar.
Die Sync-Aktionen arbeiten mit der Checkbox-Auswahl im Grid:
| Menu-Eintrag | Aktion |
|---|---|
| Auswahl nach Outlook | Gecheckte Zeilen → Outlook |
| Auswahl in Datenbank | Gecheckte Zeilen → DB |
| Bidirektional abgleichen | Composite-Sync (siehe unten) |
Alle Massen-Aktionen zeigen einen Bestätigungsdialog vor der Ausführung. Die Statusleiste zeigt nach der Aktion die Anzahl übertragener Zeilen.
Der bidirektionale Sync verwendet einen Composite-Algorithmus mit per-Relation Timestamp-Vergleich:
Voraussetzung: TimestampColumn muss in der Mapping-Konfiguration für jede Relation gesetzt sein, damit der Timestamp-Vergleich funktioniert.
Beim INSERT neuer Kontakte in die Datenbank müssen Fremdschlüssel-Werte (z.B. Firmen-ID für CompanyName) aufgelöst werden.
| Button | Wirkung |
|---|---|
| Übernehmen | Wert für diesen Kontakt verwenden |
| Für alle übernehmen | Gleichen Wert für alle Kontakte mit demselben Hinweis-Wert cachen |
| Überspringen | Diesen Kontakt ohne FK-Zuordnung überspringen |
| Alle überspringen | Alle verbleibenden unaufgelösten FK überspringen |
| Abbrechen | Gesamten Sync-Lauf abbrechen |
Die Info-Zeile zeigt: „… (12 weitere ohne Zuordnung)“ damit Sie die Gesamtmenge einschätzen können.
Nach jedem INSERT (egal welche Richtung) geschieht automatisch:
OUTPUT INSERTED.[PK], um den generierten Primärschlüssel zurückzuerhalten.Ergebnis: Beim nächsten Diff sind beide Seiten identisch — keine Endlosschleifen oder Phantom-Diffs mehr.
Manche Datenbank-Schemata enthalten denormalisierte NOT-NULL-Spalten in Child-Tabellen — z.B. trägt STTK (Telekommunikation) sowohl den Kontakt-FK (IDSTAP) als auch einen Gruppen-FK (IDST) aus der Wurzeltabelle.
Beim INSERT in solche Child-Tabellen kopiert Outlook Sync diese Spalten automatisch per Subquery aus der Wurzeltabelle. Sie müssen dafür im Mapping-Designer unter Beziehungen → CopyColumns die betroffenen Spaltennamen eintragen.
Woran erkennen Sie das Problem? Wenn beim Sync der Fehler „Cannot insert NULL into column … does not allow NULLs“ auftritt, fehlt wahrscheinlich eine CopyColumn-Konfiguration in der betroffenen Relation.
| Richtung | Verhalten |
|---|---|
| Manuell (Diff anzeigen) | Zeigt Diff-Grid — Benutzer entscheidet pro Zeile/Auswahl |
| DB → Outlook | Alle DB-Änderungen automatisch nach Outlook |
| Outlook → DB | Alle Outlook-Änderungen automatisch in die DB |
Konflikte entstehen, wenn sich beide Seiten seit dem letzten Sync geändert haben.
| Regel | Verhalten |
|---|---|
| Benutzer fragen | Zeile wird orange markiert — Benutzer wählt Gewinner |
| DB gewinnt | DB-Wert wird automatisch übernommen |
| Outlook gewinnt | Outlook-Wert wird automatisch übernommen |
| Neuerer gewinnt | Timestamp-Vergleich (erfordert TimestampColumn in Mapping) |
| Verhalten | Beschreibung | Empfehlung |
|---|---|---|
| Ignorieren | Gelöschte Datensätze werden übersprungen | Sicherste Option, Standard |
| Als gelöscht markieren | Datensatz bleibt erhalten, wird aber markiert | Für Audit-Anforderungen |
| Auf Gegenseite löschen | Datensatz wird auch auf der anderen Seite gelöscht | Nur mit Vorsicht verwenden |
Wolfgang van der Stille @ EMSR DATA d.o.o. — Outlook Sync