Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2008.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Erfahren Sie, wie Sie Access-Backends auf einen MySQL-Server migrieren.

Techniken

Datenmodellierung, SQL

Voraussetzungen

Access 97 und höher

Beispieldateien

Suedsturm.mdb, SQL-Skripte

Shortlink

554

Von Access nach MySQL

Sascha Trowitzsch, Berlin

Sie benutzen in Ihrer Mehrbenutzerumgebung ein Access-Backend und haben sich allerlei Tricks einfallen lassen, um die Performance zu optimieren? Das ist gut, denn man kann dabei eine Menge über sinnvolle Indizierung, sparsame Zugriffe und schlanke Abfragen lernen. Doch irgendwann wird die Anzahl der Zugriffe oder der Datensätze zu groß und der Schritt zu einer leistungsfähigeren Datenbank-Engine steht an. Dabei stellt sich dann die Frage, welches Produkt am geeignetsten erscheint. Immer das Budget im Auge fällt die Wahl auf ein günstiges oder freies Produkt - zum Beispiel MySQL. Wir zeigen Ihnen, wie die ersten Schritte damit funktionieren und wie Sie eine bestehende Access-Datenbank dorthin migrieren.

Brauchbare SQL-Server, die zum Nulltarif zu haben sind, gibt es einige, aber das war nicht immer so. Vor nicht allzu langer Zeit musste man noch eine Stange Geld hinblättern, um einen ausgewachsenen SQL-Server zu erwerben, und jede einzelne Arbeitsplatzlizenz riss ein weiteres Loch in die Kasse.

Inzwischen haben fast alle namhaften Hersteller zumindest eine abgespeckte Variante im Angebot, um dem Benutzer ihr Produkt schmackhaft zu machen. So bietet Microsoft den SQL Server 2005 Express Edition in voll funktionsfähiger Form, aber mit begrenzter Kapazität an, Oracle tut dasselbe mit ähnlichen Spezifikationen und dem 10g Express, SAP veröffentlichte die SAPDB (läuft nun unter dem Namen MAXDB und ist leider nicht mehr gratis) und Borland gab den Source-Code von Interbase frei, woraus Firebird entstand.

Auf der anderen Seite entwickelten sich die schon immer freien Server wie MySQL oder PostGreSQL weiter und sind zu ernst zu nehmenden Konkurrenten für die Alteingesessenen geworden. Für MySQL gilt das seit Version 5 in besonderem Maße: Einst von Datenbankprofis als simple Webdatenbank belächelt, kann MySQL nun mit Features aufwarten, die den Abstand zu den Boliden der Branche immer geringer werden lassen.

Aber nicht nur die Leistungsfähigkeit hat sich gewaltig gesteigert, sondern auch das Supportangebot. Der Hersteller MySQL-AB kann nun professionelle Administrationstools, stabile Setups, Hilfe-Dateien in mehreren Sprachen, Kooperationen mit einer großen Zahl von Drittanbietern und eine äußerst rege Community vorweisen.

Als Backend für eine Access-Anwendung ist MySQL eine schicke Angelegenheit. Die Installation ist vergleichsweise schlank, die Performance hervorragend und zwei Dinge unterscheiden ihn vom Microsoft-Produkt: Er hat keine Größenbeschränkungen, keine Connect-Limits und er ist nicht auf einen Windows-Server angewiesen, sondern kann auch auf Linux-Systemen betrieben werden.

Dem steht lediglich entgegen, dass die verfügbaren Zusatzanwendungen zur Administration noch nicht wirklich mit einem Microsoft Enterprise Manager oder dem SQL Management Studio mithalten können und dass das Microsoft-Produkt doch einige Leistungsmerkmale aufweisen kann, von denen MySQL noch deutlich entfernt ist.

Letztere sind allerdings für den gemeinen Access-Entwickler auch weniger interessant, denn wer von uns denkt schon an OLAP-Cubes, XML-Storage und andere Spezialitäten?

Ein SQL-Server für den Access-Entwickler sollte, das ist die wichtigste Anforderung, die gleichen Möglichkeiten bieten wie ein MDB-Backend, jedoch schneller und sicherer sein und sich dabei weitgehend kompatibel verhalten.

Genau das erfüllt ein MySQL-Server seit Version 5: Die Standard-Datenbank-Engine ist nun nicht mehr die so genannte MyISAM-Engine, sondern die InnoDB-Engine, die Fremdschlüssel bietet und referentielle Integrität mit Aktualisierungs- und Löschweitergabe beherrscht, ohne dass der Entwickler Trigger oder Stored Procedures anlegen müsste.

Es lohnt sich also, MySQL eine Chance zu geben und zumindest mal einen kleinen Test zu fahren.

Wie der aussehen könnte, wird in den folgenden Abschnitten beschrieben. Hier geht es zunächst darum, Daten von Access nach MySQL zu transferieren.

Ein Fortsetzungsbeitrag beschäftigt sich dann mit den Themengebieten Anbindung Access-MySQL, Umstellung des Frontends und Optimierungen.

Es sollte nicht unerwähnt bleiben, dass hier im vorliegenden Beitrag nur die grundlegendsten Schritte erläutert werden. Zum Gespann Access-MySQL könnte man locker mehrere Ausgaben dieses Magazins komplett füllen.

Download von MySQL

Unter [1] finden Sie das aktuelle Paket des Community Servers. Das ist die freie Variante von MySQL. Nehmen Sie am besten das Essentials-Paket der Version 5.0 - Version 5.1 befindet sich noch im Beta-Stadium.

Und wenn Sie schon auf der Download-Seite von mysql.org sind, dann besorgen Sie sich auch gleich noch die Tools-Suite [2]. Sie enthält den MySQL-Administrator, mit dem Sie den Server komfortabel administrieren können, den Query Browser zum direkten Testen von Abfragen, aber auch zum Bearbeiten der Daten, sowie - ganz wichtig für den Access-Entwickler! - das Migration Toolkit, mit dem Daten von einem Access-Backend in eine MySQL-Datenbank überführt werden können.

Die Verbindung zwischen einem Access-Frontend und dem MySQL-Server stellen Sie über die ODBC-Schnittstelle her. Dazu benötigen Sie einen passenden ODBC-Treiber, der unter [3] zu finden ist (Achtung: Verwenden Sie nicht die Version 5.0 des ODBC-Treibers, der noch erhebliche Mängel aufweist!).

Schließlich möchten Sie wahrscheinlich noch die Dokumentation zu MySQL auf dem Rechner haben, anstatt sie online lesen zu müssen.

Eine deutsche CHM-Hilfedatei, das Referenzhandbuch mit über 1000 Seiten, kann unter [4] heruntergeladen werden. Es enthält bereits Informationen zu Features von MySQL 5.1, die aber in der Dokumentation jeweils separat behandelt werden.

Setups ausführen

Nachdem Sie alle Installationspakete beisammen haben, starten Sie die Setups in der Reihenfolge wie oben.

Den Server sollten Sie bereits während des Setups mit Grundeinstellungen konfigurieren, die übrigen Tools sind diesbezüglich weniger anspruchsvoll und können mit den Standardeinstellungen installiert werden.

Server installieren

Nach dem Start des MSI-Setups für den Server unter Administratorrechten (!) wählen Sie die benutzerdefinierte Installation, die allein das Festlegen des Installationsverzeichnisses erlaubt.

Zum Ende des Installationsvorgangs führt Sie ein Assistent durch die vorzunehmenden Grundeinstellungen des Servers, wenn die Option Configure the MySQL Server now aktiviert ist.

Lassen Sie diesen Assistenten im Modus Detailed Configuration laufen. Sie können die Konfiguration zwar auch später erledigen, werden dann aber mit einer erschlagenden Fülle von Parametern konfrontiert, die Ihnen zunächst nichts sagen dürften - der Assistent vereinfacht die Konfiguration merklich.

Einstellungssache

Im Kurzdurchlauf hier die empfohlenen Einstellungen, die Sie dabei aktivieren sollten:

  • Developer Machine
  • Transactional Database Only
  • InnoDB Tablespace Settings: \MySQL Datafiles\ oder ein separates absolutes Verzeichnis Ihrer Wahl
  • Decision Support
  • Enable TCP/IP Networking
  • Enable Strict Mode
  • Latin1 als Zeichensatzvoreinstellung (Default Character Set)
  • Install As a Windows Service / Launch the Server automatically: Dies startet MySQL automatisch beim Hochfahren des Rechners. Wenn Sie das nicht möchten, können Sie den Server-Service auch manuell starten. Dieses Verhalten lässt sich auch später noch über den MySQL-Adminstrator umstellen.
  • Service Name: MySQL oder ein beliebiger anderer Name wie MySQL5Test. Diesen Namen finden Sie später in den Windows-Diensten wieder.
  • Root Passwort: Nach Belieben - aber notieren Sie es! MySQL legt automatisch den User root an, mit dem Sie anfänglich Zugriff auf den Server erlangen.

Der Assistent stellt die Konfiguration fertig und schon läuft der Server, wie Sie am gestarteten MySQL-Service in der Liste der Windows-Dienste sehen können.

GUI-Tools installieren

Damit Sie erweiterte Einstellungen für den Server über den MySQL Administrator vornehmen können, starten Sie anschließend das Setup für die MySQL GUI Tools im benutzerdefinierten Modus (Custom).

Unter den verfügbaren Installationsfeatures können Sie getrost den Eintrag MySQL Workbench deaktivieren, der sich aktuell noch im Alpha-Stadium befindet; ferner können Sie unter Language Support überflüssige Sprachen entfernen.

MySQL-Beziehungsfenster

MySQL Workbench ist an sich ein viel versprechendes ERM-Tool. Mit ihm wird es möglich, ein relationales Datenmodell komplett grafisch zu erstellen oder zu bearbeiten.

Es ähnelt dem Beziehungsfenster von Access, allerdings lassen sich Felder auch direkt in der grafischen Oberfläche bearbeiten. Aktuell leidet die Windows-Alpha-Version allerdings noch an diversen Bugs der Java-GUI.

Die Installation des ODBC-Treibers (im MySQL-Jargon „Connector“) können Sie mit der Option Complete durchführen.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Von Access nach MySQL, Teil 2

Access, MySQL und Berechtigungsverwaltung

Upsizing von Access nach SQL Server: Tabellen

Performanter Webzugriff auf MySQL-Datenbanken

Anmeldung an SQL Server und Co.

Access, MySQL und Datenzugriff

© 2003-2015 André Minhorst Alle Rechte vorbehalten.