Microsoft Access basierte Datenbanklösungen sind in vielen Firmen und Abteilungen in diversen Ausprägungen im Einsatz. Dabei lenken sie sehr oft geschäftskritische Prozesse. Es ist vor allem bei Anwendern ohne Programmierhintergrund sehr beliebt, weil Anwender ohne Programmiersprachenkenntnisse sehr einfach datenbankbasierte Anwendungen erstellen können. Erfahren Sie in diesem Beitrag wie Sie Access 2007 und 2010 an den Team Foundation Server 2010 anbinden können.
Ein Aspekt wird aber sehr oft vergessen, der Aspekt „Konfigurations-Management“. Ein Teilbereich bildet dabei die Versionierung von Artefakten. Gerade weil in den vielen Access Datenbanken geschäftskritische Daten und Logik stecken, sollten diese wie jede andere Anwendung unter einer Versionskontrolle stehen.
An dieser Stelle bietet es sich an den bereits in der IT betriebenen TFS 2010 zu verwenden.
Um Access 2007 oder 2010 an den TFS 2010 anzubinden sind folgenden Programme & Addons notwendig:
1) Team Explorer 2010
2) Team Foundation Server MSSCCI Provider 2010
3) Access
a. 2007: Access 2007 Download: Access Developer Extensions oder
b. 2010: Microsoft Access 2010 Source Code Control
Die Installation der einzelnen Programme und Addons erfolgt in der angegebenen Reihenfolge.
Das Access Addon deckt nach Microsoft (Quelle siehe Download Links) folgende Szenarien ab:
Source Code Control add-in allows integration with Microsoft Visual SourceSafe or other source code control systems to allow check-in/check-out of queries, forms, reports, macros, modules, and data. You can also see the differences that have been made to your checked out objects.
Dowloads und weiterführende Informationen:
Download des Team Foundation Server MSSCCI Provider 2010 verfügbar unter http://visualstudiogallery.msdn.microsoft.com/de-de/bce06506-be38-47a1-9f29-d3937d3d88d6
Download für Access 2007 verfügbar unter https://www.microsoft.com/downloads/en/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&displaylang=en
Download für Access 2010 verfügbar unter https://www.microsoft.com/downloads/en/details.aspx?familyid=586912A5-3809-44EF-AC55-43D36ECAB9DE&displaylang=en
Sehr geehrter Herr Orschel,
wir arbeiten ebenfalls mit TFS und Access und haben gute Erfahrungen sammeln können. Eines der Frontends, welches wir verwenden, hat mittlerweile über 2.000 Objekte (*.ACQ, *.ACF…) und wir haben nun Probleme, ein Frontend “zu ziehen”. Wir öffnen eine leere Access-DB und gehen über “Quellcodeverwaltung” – “Create from Team Foundation” zum TFS und wählen dort dann zum Beispiel den TRUNK aus einem Teamprojekt aus. So weit, so gut. Leider geht es nun nicht mehr weiter. In den meisten Fällen passiert nichts mehr. Kein Objekt wird gezogen, kein scc-Ordner angelegt, der Branch / Trunk wird nicht einem lokalen Pfad zugeordnet (im Visual Studio). Manchmal geht es jedoch weiter und nach ca. einer Stunde wird der leere scc-Ordner in der Dateistruktur angelegt. Dann kann es vorkommen, dass nach einer weiteren Stunde auch die Objekte kopiert werden und die Datenbank “normal” erscheint und im VS als zugeordnet angezeigt wird.
Wir haben darauf hin mit einem anderen Projekt die Situation auf einem DEV-Server nachgestellt. Gleiches Ergebnis. Wenn wir aus dem TRUNK 17 Branches erstellen, so blockiert Access. Mit 16 Branches geht es noch. (DB mit 2.000 Objekten). Der nächste Test fand dann mit einem kleineren Projekt statt. Hier waren “lediglich” 380 Objekte in der DB. Dieses konnten wir knapp 85 mal branchen. Danach ging auch hier nichts mehr. Unsere Schlussfolgerung (auch nach mehreren Tagen Google-Quälerei): bei 32.768 Objekten ist Schluß!
Letzter Test: Eine leere DB mit einer Abfrage erstellen, diese per Function 998 mal kopieren, Modul speichern und ins TFS einchecken. Somit haben wir eine DB mit 1.000 Objekten (plus die paar versteckten Objekte). Diese haben wir nun als TRUNK behandelt und davon gebrancht. 32 mal ging es gut (wir konnten noch “ziehen”). Beim 33. Branch ging wieder nichts mehr. Vor diesem Hintergrund haben wir den SQL-Server inspiziert und festgestellt, dass der TRUNK (aus dem gebrancht wird) wahrscheinlich in einer anderen Tabelle vorgehalten wird, als die Branches selbst. Ist diese Tabelle vielleicht der Grund?
Jetzt stellt sich uns die Frage: an welcher Komponente hängt diese Begrenzung? Sind es die Developer-Extensions? Oder der MSSCCI-Provider? Leider konnten wir im gesamten Netz nichts Vergleichbares finden. Konnten Sie schon einmal etwas ähnliches beobachten? Vielleicht sind Sie so gut und testen es in ihrer Umgebung? Wenn Sie eine Lösung finden, würde ich mich freuen, diese zu erfahren. Es wäre sehr schade, wenn wir zurück zu SVN mit Access-Anpassung kehren müssen.
Whow! Wurde nun doch eine sehr lange Nachricht. Ich hoffe, ich mache keine Ungelegenheiten. Vielleicht können Sie die Nachricht gleich an die Ranger weiterleiten.
Mit besten Grüßen,
Tim Nolte
Hallo Herr Nolte,
Die Ursache für die Limitierung liegt direkt an MS Access. Laut Access Spezifikation ist das Object Limit bei 32,768 (siehe Number of objects in a database … http://office.microsoft.com/en-us/access-help/access-specifications-HP005186808.aspx ).
Viele Grüße
Nico Orschel
Hallo Herr Orschel.
Vielen Dank für Ihre Antwort. Das Limit ist bekannt, wird jedoch (in der Access-Datei) nicht erreicht. Dort haben wir “nur” 2.000 Objekte. Es muss also an dem Zugriff liegen. Und hier haben wir es auf die Developer-Extensions oder auf den MSSCCI-Provider eingegrenzt. Nur: wer ist jetzt Schuld? Und gibt es eine Alternative?
Wie gesagt, wäre es schade, zu SVN zurück zu kehren, weshalb wir weiter auf der Suche nach Lösungen sind.
Sonnige Grüße zum Wochenende,
Tim Nolte
Hallo Herr Orschel.
Hier ein kleiner Nachtrag:
Mit dem neuen Release der MSSCCI-Provider (vom 21.10.2013) geht das “ziehen” vom TFS wieder. Hier der Link zum Download:
http://visualstudiogallery.msdn.microsoft.com/bce06506-be38-47a1-9f29-d3937d3d88d6
Dieses Problem hat sich also erledigt. Vielen Dank noch einmal für Ihre Mühen. Mit besten Grüßen,
Tim Nolte