Metadaten Diff
Für die komplette Übertragung des Datenbankinhalts zweier Datenbanken ähnlicher Struktur ist vorab erforderlich zu prüfen, welche Tabellen sich unterscheiden.
Unterschiede in der Tabellenstruktur führen mitunter dazu, dass ein Transfer für die entsprechende Tabelle nicht durchgeführt kann, zum Beispiel dann, wenn in der Quelldatenbank Felder in einer Tabelle existieren, welche im Ziel nicht vorhanden sind.
Hier kommt das Modul Metadaten Metadaten beschreiben den Aufbau einer Datenbank und der darin enthaltenen Tabellen und Felder. Es werden u.a. in den Metadaten Informationen zur Größe und Dateityp von Datenbankfeldern abgelegt. Diff zum Einsatz, welches nachfolgend erläutert werden soll.
Um einen neuen Datenbankvergleich zu starten, klicken Sie im esdbm Programmfenster auf die Symbol-Schaltfläche Metadaten Diff.
Es wird ein neues Register Metadaten Diff geöffnet, auf der linken Seite haben Sie die Möglichkeit die zu vergleichenden Datenbank über den Alias auszuwählen.
Bereich 'Alte Datenbank'
Datenbank
Wählen Sie hier den Datenbank-Alias aus, der als Datenquelle vorgesehen ist.
Als Vorgabe wird im Bereich Alte Datenbank der Alias ESWin als Datenbank eingetragen. Sie können auch einen anderen Alias auswählen.
Die angezeigten Datenbanken-Aliase werden aus der Datei dbxconnections.ini aus dem esoffice Para-Verzeichnis ausgelesen. Die Datenbankverbindungen können Sie unter Verbindungseinstellungen einsehen / bearbeiten.
Login Daten (bis esdbm Version 1.0.6.0)
Wird ein Modul geöffnet oder eine Funktion mit Zugriff auf eine esoffice Datenbank ausgeführt, ist eine Anmeldung mit einem esoffice Benutzer erforderlich.
Ab der esdbm Version 1.0.6.0 ist kein Login mehr notwendig.
Der Benutzer benötigt die Berechtigung 110 - Grundeinstellungen.
Haben Sie sich erfolgreich an eine esoffice Datenbank (Alias) im esdbm angemeldet, erfolgt beim weiteren Zugriff auf den Datenbank-Alias keine erneute Abfrage der Login Daten.
Bereich 'Neue Datenbank'
Datenbank
Wählen Sie hier den Datenbank-Alias aus, der als Ziel der Datenübertragung vorgesehen ist.
Hier kann zum Beispiel für eine Migration einer Firebird Datenbank in eine MSSQL Datenbank unter Alte Datenbank der Firebird Alias und unter Neue Datenbank der MSSQL Alias ausgewählt werden.
Login Daten (bis esdbm Version 1.0.6.0)
Wird ein Modul geöffnet oder eine Funktion mit Zugriff auf eine esoffice Datenbank ausgeführt, ist eine Anmeldung mit einem esoffice Benutzer erforderlich.
Ab der esdbm Version 1.0.6.0 ist kein Login mehr notwendig.
Der Benutzer benötigt die Berechtigung 110 - Grundeinstellungen.
Haben Sie sich erfolgreich an eine esoffice Datenbank (Alias) im esdbm angemeldet, erfolgt beim weiteren Zugriff auf den Datenbank-Alias keine erneute Abfrage der Login Daten.
Datenbanken vergleichen
Nachdem Sie die Alte Datenbank (Quelle) und die Neue Datenbank (Ziel) festgelegt haben, klicken Sie auf die Schaltfläche Datenbanken vergleichen.
Beim ersten Zugriff auf einen Datenbank-Alias ist ein Login erforderlich (Alte und Neue Datenbank).
Nachdem der Lauf über die Schaltfläche Datenbanken vergleichen gestartet wurde, wird auf der rechten Seite eine Übersicht der Datenbank-Unterschiede als Baumstruktur angezeigt.
Der Baum setzt sich aus zwei Ebenen zusammen.
Die erste Ebene enthält den Tabellennamen.
Die zweite Ebene, welche erst durch Aufklappen über das Symbol sichtbar ist, enthält den Feldnamen.
Die Symbole haben folgende Bedeutung:
Änderung
Die Tabelle oder das Feld hat sich vom Ziel auf die Quelle verändert
Neu
Die Tabelle oder das Feld existiert noch nicht in der Quelle, jedoch im Ziel.
Gelöscht
Die Tabelle oder das Feld existiert im Ziel nicht mehr, sondern ist nur in der Quelle noch vorhanden.
Hinter den Feldnamen befindet sich in ( ) jeweils eine weitere Angabe. Diese deutet auf den Typ des Feldes hin.
Feldtypen
Nachfolgend finden Sie die verschiedenen Feldtypen, welche in der XML-Datei möglich sind:
Abkürzung - Bedeutung
I - Integer (32 Bit)
S - Small - Integer (16 Bit)
F - Float / Double
D - DateTime / TimeStamp
M - Memo (Plaintext)
R - Memo (RichText)
H - Memo (HTML)
B - Blob
A|1 - Boolean (String der Länge 1)
A|X - String der Länge X
Mit diesen Informationen kann nun zum Beispiel ein Kopierskript so angepasst werden, dass eine korrekte Übertragung zwischen zwei Tabellen möglich ist.