Jens Liebelt FileMaker Consulting - FM4Web CMS für FileMaker

FileMaker und MySQL

Voraussetzungen

Um den FileMaker mit einer MySQL Datenbank zu verbinden muss auf ODBC Treiber zurückgegriffen werden. Unter Windows funktioniert das mit den mitgelieferten ODBC Treibern. Auf Mac OS X müssen die kostenpflichtigen ODBC Treiber von Actual Technologies installiert werden. Das gesamte Konzept wird in der FileMaker Terminologie als ESS - External SQL Data Sources bezeichnet.

Auf die Einrichtung der ODBC Schnittstelle möchte ich hier nicht weiter eingehen, dazu gibt es genügend Anleitungen im Internet und in der FileMaker online Doku.

Top

Der lokale Server

MAMP, kostenloser lokaler Webserver für den Mac

© Screenshot Jens Liebelt

MAMP, kostenloser lokaler Webserver für den Mac

Um eine MySQL Datenbank lokal zu betreiben benötigt man einen Server. Ich habe es mir einfach gemacht und das gesamte Paket von MAMP auf meinem Mac installiert. Für Windows Nutzer steht ein ähnliches Paket mit dem Namen XAMP zum kostenlosen Download bereit. Beide Pakete stellen einen lokalen Webserver zur Verfügung, der mit minimal Aufwand in Betrieb genommen werden kann. Es sind zwar nicht alle Dienste eines Webserver in der kostenlosen Version enthalten, für den Betrieb der MySQL Datenbank ist aber alles notwendige an Bord. Für die Nutzung dynamischer Webseiten wird PHP lauffähig mit installiert.

Top

MySQL-Datenbank anlegen

Bevor man eine MySQL Datenbank via ODBC im FileMaker nutzen kann, muss man diese Datenbank natürlich erstmal erstellen. In der Regel ist das im Serverpaket enthaltene phpMyAdmin die einfachste Möglichkeit um die Datenbank und die Tabellen zur erstellen. Der Datenbank Typ ist üblicherweise MyISAM und als Zeichensatz ist der utf8_general_ci eine gute Wahl.

Bei den Feldtypen ist die Auswahl sehr viel feiner als beim FileMaker, hier sollte ohne die entsprechenden Kenntnisse, Sekundärliteratur zurate gezogen werden. Nur so viel: Blob und Binary Felder werden vom FileMaker derzeit (FM 11) nicht unterstützt.

Top

FileMaker mit der MySQL-Datenbank verbinden

FileMaker externe Datenquelle verwalten

© Screenshot Jens Liebelt

FileMaker externe Datenquelle verwalten

Unter dem Menüpunkt Ablage (Mac) bzw. Datei (Win) wählt man den Menüpunkt externe Datenquellen verwalten. Es ist durchaus mögliche eine ganze Reihe verschiedener Datenquellen gleichzeitig mit dem FileMaker zu verbinden. Auf diese Weise lassen sich auch unterschiedliche Datenquellen (MySQL, Oracel ...) in einer FileMaker auswerten und bearbeiten. Vorausgesetzt der ODBC Treiber ist korrekt installiert, ist das Einfügen der Datenquelle in den FileMaker ein Kinderspiel.

Top

MySQL-Tabelle im FileMaker anzeigen

FileMaker Beziehungen mit MySQL-Tabellen

© Screenshot Jens Liebelt

FileMaker Beziehungen mit MySQL-Tabellen

Damit man eine MySQL Tabelle im FileMaker anzeigen und bearbeiten kann, muss die Tabelle in das Beziehungsdiagramm eingefügt werden. Dieser Vorgang muss für jede Tabelle der MySQL Datenbank wiederholt werden.

Sind alle MySQL Tabellen eingefügt, kann mit der Definition der Beziehungen zwischen den MySQL Tabellen untereinander und den FileMaker Tabellen begonnen werden. Auf diese Weise lassen sehr komplexe Beziehungen einfach realisieren.

Top

Zusätzliche Felder in MySQL-Tabellen anlegen

Im FileMaker können zusätzliche Felder in der MySQL Tabelle definiert werden. Die Möglichkeit ist jedoch auf Formel- und Statistikfelder begrenzt. Die zusätzlichen Felder werden nicht direkt in der MySQL Tabelle gespeichert sondern in der FileMaker Datenbank.

Es ist nicht möglich Tabellenfelder der MySQL Tabelle umzubenennen oder den FeldTyp zu verändern. Es ist aber möglich Feldoptionen zu verwenden. Die Feldoptionen werden genutzt wenn über den FileMaker ein neuer Datensatz in der MySQL erstellt wird. Mit Hilfe der Feldoptionen können dann berechnete Werte, fortlaufende Nummern, Erstellungsdatum und Änderungsdatum automatisch in die Felder eingefügt werden.

Top

MySQL-Tabelle synchronisieren - Schattenfelder

Schattenfelder im FileMaker

© Screenshot Jens Liebelt

Schattenfelder im FileMaker

Wird die Felddefinition der MySQL Tabelle geändert, müssen diese Änderungen dem FileMaker mitgeteilt werden. Dazu ist im dem Bearbeitungsfenster für die Tabellen im FileMaker die Taste Synchronisieren. Die Funktion liest die Felder der MySQL Tabelle erneut ein. An dieser Stelle ist immer auch eine manuelle Bearbeitung notwendig, da der FileMaker die Felder nicht wie gewohnt einfach umbenennt.

Konkret: Gab es bisher ein Feld mit dem Namen _auto welches in der MySQL zu _auto_neu umbenannt wurde, enthält die FileMaker Tabelle jetzt beide Felder. Um das Löschen der alten Felder muss ich mich also selbst kümmern. Ebenso muss ich die Feldzuweisung im Layout selbst ändern.

Ich kann auch im FileMaker Felder aus der MySQL Tabelle löschen, ohne sie tatsächlich in der MySQL Tabelle zu entfernen. Bei der nächsten Synchronisation sind die Felder wieder vorhanden, sofern sie nicht zwischenzeitlich in der MySQL Tabelle gelöscht wurden.

Der FileMaker arbeitet hier mit Schattenfeldern. Einfach ausgedrückt bedeutet das, der FileMaker liest die Felder der MySQLTabelle ein, erstellt eine eigene Ansicht der Tabelle und weiß wie er die Felder in der MySQL Tabelle ansprechen kann. Damit hat der FileMaker intern die Möglichkeit mit den Daten zu operieren, kann aber keine Designaufgaben in der MySQL Tabelle ausführen. Für manchen mag das ein Schwachpunkt sein, ich finde es immer sehr beruhigend.

Top

FileMaker Beispiele

weitere Kapitel zum Thema