Immer wieder tauchen in Newsgroups und Foren Fragen wie die folgende auf: “Hilfe, meine Datenbank funktioniert nicht mehr. Was kann ich tun” Neben diversen Rettungsstrategien für korrupte Datenbanken wird dann häufig auf die letzte Sicherungskopie verwiesen. Wenn überhaupt eine Sicherungskopie existiert, ist diese meist mehrere Tage alt. Das Problem beim Einsatz dieser Sicherungskopie ist, dass alle änderungen der letzten Tage verworfen werden. Dabei ist die Lösung relativ einfach: Verwenden Sie für die Entwicklung Ihrer Access-Datenbank eine Quellcodeverwaltung.
In diesem Beitrag finden Sie die Grundlagen zum Thema Quellcodeverwaltung mit Access. In einem weiteren Beitrag zeigen wir dann, Schritt für Schritt, von der Einrichtung der Quellcodeverwaltung bis zur Erledigung von Alltagsaufgaben, wie Sie mit einer Versionsverwaltung in Access arbeiten.
Akzeptanz
Zum Thema Quellcodeverwaltung haben Access-Programmierer anscheinend noch keinen rechten Zugang gefunden. Diesen Eindruck legt zumindest das Ergebnis einer kleinen Umfrage nahe:
- Haben Sie schon von Quellcodeverwaltung gehört – 100 %
- Haben Sie bereits über den Einsatz eines Quellcodeverwaltungssystems nachgedacht – 75 %
- Haben Sie schon eine Quellcodeverwaltung ausprobiert – 66 %
- Haben Sie ein Quellcodeverwaltungssystem systematisch eingesetzt – 10 %
Es haben zwar schon fast alle Access-Entwickler von Quellcodeverwaltung gehört. Über deren Einsatz nachgedacht und sie einmal ausprobiert haben auch schon sehr viele Programmierer. Beim regelmäßigen Einsatz hapert es aber. Ganze 10 % der Befragten gaben an, regelmäßig für ihre professionellen Projekte eine Quellcodeverwaltung zu verwenden.
Das grundsätzliche Interesse am Thema Quellcodeverwaltung scheint also gegeben zu sein. Woran liegt es aber, dass nur so wenige Access-Programmierer regelmäßig eine Quellcodeverwaltung einsetzen Von den Interessenten werden folgende Vorbehalte genannt:
- Quellcodeverwaltung ist nur etwas für Profis.
- Quellcodeverwaltung ist bestimmt kompliziert.
- Die notwendigen Tools für die Quellcodeverwaltung sind (zu) teuer.
Lassen Sie uns diese Vorbehalte in umgekehrter Reihenfolge beleuchten.
In dem zweiten Beitrag in der kommenden Ausgabe von Access im Unternehmen zum Thema Quellcodeverwaltung werden verschiedene Tools genannt werden. Darunter sind auch einige eher kostspielige Varianten zu finden. In dem Beitrag werden wir uns aber ausführlich auf ein Freeware-Tool konzentrieren. Um dieses Tool mit Access einsetzen zu können, ist noch ein zusätzliches Add-In erforderlich. Die Anschaffung dieses Add-Ins ist aber relativ günstig.
Zur Aussage, dass Quellcodeverwaltung kompliziert sei, ist zu sagen, dass man seine bisherige Arbeitsweise etwas an die Verwendung einer Quellcodeverwaltung anpassen muss. Wenn man sich aber erst einmal damit vertraut gemacht hat, kommt man schnell in den Genuss der Vorteile, die eine Versionsverwaltung mit sich bringt.
Bleibt noch das letzte Argument: “Quellcodeverwaltung ist nur etwas für Profis.” Es ist sicher richtig, dass zu einer professionellen Softwareentwicklung der Einsatz einer Quellcodeverwaltung gehört. Dies soll Sie aber nicht davon abhalten, in den Genuss der Vorteile einer Versionsverwaltung zu kommen.
Vorteile einer Versionsverwaltung
Es ist schon mehrfach erwähnt worden, dass die Verwendung einer Quellcodeverwaltung Vorteile mit sich bringt. Doch worin liegen diese Vorteile genau
Der wichtigste Vorteil ist, dass immer eine Sicherungskopie Ihrer Datenbank existiert. Ihre Datenbank wird, in ihre einzelnen Objekte zerlegt, in der Quellcodeverwaltung gespeichert. Die Daten der Quellcodeverwaltung werden an einem anderen Ort als Ihre Datenbank hinterlegt. Sie können jederzeit aus der Quellcodeverwaltung eine neue Kopie Ihrer Datenbank erstellen.
Durch die Verwendung einer Quellcodeverwaltung wird eine effiziente Teamarbeit in einer Access-Datenbank ermöglicht. Wenn Sie ohne Quellcodeverwaltung gemeinsam an einer Datenbank arbeiten, erhält jeder Entwickler eine Kopie der Datenbank, die er dann bearbeitet.
Am Ende müssen Sie dann alle änderungen an allen Objekten der verschiedenen Entwickler in einer gemeinsamen Version zusammenführen. Dieser Prozess ist mühsam und fehleranfällig. Zum einen laufen Sie Gefahr, nicht alle bearbeiteten Objekte in die gemeinsame Version zu kopieren.
Zum anderen kann es passieren, dass zwei Entwickler das gleiche Objekt geändert haben. Dann müssen Sie die änderungen mühsam zusammenführen.
Mit dem Einsatz einer Quellcodeverwaltung gestaltet sich das gemeinsame Arbeiten an einer Datenbank wesentlich einfacher. Alle Entwickler arbeiten mit einer Kopie der Datenbank, die mit der Quellcodeverwaltung “verbunden” ist.
Das mühsame Zusammenfügen der geänderten Objekte entfällt also. Außerdem kann die Quellcodeverwaltung so eingestellt werden, dass sichergestellt wird, dass immer nur ein Entwickler an einem Objekt arbeitet.
Durch den Einsatz einer Quellcodeverwaltung gelangen Sie in den Genuss einer Protokollierung. Sie können damit die Frage beantworten, wer wann welches Objekt wie geändert hat.
Die Protokollierung wird dadurch erreicht, dass Sie jedes Objekt nach der Bearbeitung mit einem Kommentar versehen und wieder in die Quellcodeverwaltung einchecken. Auf diesem Weg können Sie feststellen, wann an einem Objekt welche änderung vorgenommen wurde.
Ein weiterer wichtiger Vorteil ist, dass Sie jederzeit von jedem Objekt jede vorherige Version wiederherstellen können.
Diese Möglichkeit versetzt Sie in die Lage, schnell auf auftretende Fehler reagieren zu können. Sie stellen einfach die letzte als funktionierend bekannte Version wieder her. Während Ihre Benutzer weiterarbeiten, können Sie in aller Ruhe den Fehler suchen und beseitigen.
Teamarbeit
Nachdem die Vorteile einer Versionsverwaltung aufgezeigt wurden, ist es an der Zeit, sich mit der grundsätzlichen Problemstellung und möglichen Lösungsansätzen vertraut zu machen.
Die nachfolgende Darstellung dieses Themas ist an das Handbuch zu TortoiseSVN [1] angelehnt.
Gehen wir im Beispiel davon aus, dass zwei Entwickler (nennen wir sie Adam und Eva) eine Datei bearbeiten wollen. Was passiert
- Im ersten Schritt kopieren sich sowohl Adam als auch Eva die zu bearbeitende Datei aus der gemeinsamen Dateiablage in ein lokales Laufwerk. Im zweiten Schritt bearbeiten dann beide Entwickler ihre jeweilige Kopie (siehe Bild 1).
- Adam kopiert seine Datei zuerst wieder in die gemeinsame Dateiablage zurück. Kurz darauf kopiert Eva ihre änderungen ebenfalls zurück und überschreibt damit Adams änderungen (siehe Bild 2).
Bild 1: Die gemeinsame Bearbeitung einer Datei …
Bild 2: … und die daraus resultierenden Probleme