FMK2012: Mit SQL-Kommandos FileMaker Daten lesen - und schreiben von Nico Busch
FMK2012: Schnittstellen von FileMaker zu Onlineshop-Systemen von Markus Schall
-
Upload
verein-fm-konferenz -
Category
Documents
-
view
2.764 -
download
3
description
Transcript of FMK2012: Schnittstellen von FileMaker zu Onlineshop-Systemen von Markus Schall
Schnittstellen von FileMaker zu Onlineshop-Systemen.
Produkte und Aufträge via ODBC/SQL vom Onlineshop in FileMaker und umgekehrt übertragen am Beispiel xt:Commerce / Gambio.
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Inhalt dieser Session:1. FileMaker und MySQL-Datenbanken
1.1 Die mySQL-Datenbank auf dem Webserver
1.2 ODBC-Manager unter Mac OS X
1.3 ODBC-Connector für mySQL installieren
1.4 Einrichtung des MySQL ODBC-Connectors unter Mac OS X 1.5 Einrichtung des MySQL ODBC-Connectors unter Windows
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Inhalt dieser Session:2. Importieren ganzer Datentabellen aus mySQL in FileMaker
2.1 SQL Abfrage für den Import erstellen
2.2 Neue Tabelle in FileMaker aus Datenimport erstellen
2.3 Import der Datentabelle aus xt:Commerce in FileMaker
2.4 Umbenennen der importieren Tabelle
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Inhalt dieser Session:3. Wichtigste Datentabellen zu Produkt- /Artikeldaten
3.1 Datenstruktur der Produkt- /Artikeldaten
3.2 Import von Artikeln aus xt:Commerce in FileMaker
3.3 Beispiellösung: Ein Teilscript pro Tabelle in xt:Commerce
3.4 Schaltflächenscript (Steuerscript für alle Importe)
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Inhalt dieser Session:4. Export von Artikeln aus FileMaker nach xt:Commerce
4.1 Scripte für den Export von Daten nach xt:Commerce
4.2 SQL-Statement für das Erzeugen eines neuen Datensatzes
4.3 SQL-Statement für das Update eines Datensatzes
5 Datenstruktur der Auftragstabellen
5.1 Welche Daten befinden sich wo?
5.2 Beispiellösung: Ein Teilscript pro Tabelle in xt:Commerce
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Inhalt dieser Session:6 Datenstruktur der Kundentabellen
6.1 Welche Daten befinden sich wo?
6.2 Beispiellösung: Ein Teilscript pro Tabelle in xt:Commerce
6.3 Einzelne Datensätze importieren (Beispiel customers)
7 Schlussbemerkungen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
FileMaker und MySQL Datenbanken1.1 Die mySQL-Datenbank auf dem Webserver
• Shop-Datenbank basiert auf einem mySQL-Server
• Shop greift direkt per PHP auf die mySQL Tabellen zu
• Zugriff auf dem Mac z.B. mit phpMyAdmin oder Sequel Pro*
• Zugriff mit FileMaker über eine ODBC Datenquelle
> Daten lesen über FileMaker Importfunktion
> Daten schreiben über Scriptbefehl „SQL Query ausführen“
* http://www.sequelpro.com
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Manager für Mac OS X1.2 ODBC-Manager unter Mac OS X
• ODBC-Manager für die Verwaltung von ODBC-Datenquellen
• ODBC-Manager ist nicht standardmäßig auf allen System installiert
> Download auf http://www.odbcmanager.net
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.3 ODBC-Connector für mySQL installieren
• mySQL ODBC-Connector 3.5.1 oder Actual Technologies
> ODBC Driver for Open Source Databases
> Download auf http://www.actualtech.com
> Lizenzkosten: 34,95 US-Dollar für bis zu 5 Verbindungen
> Mac OS X: Installation des Actual ODBC Pack
> Windows: Installation des mySQL ODBC-Connector 3.5.1
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.4 Einrichtung des ODBC-Connectors für mySQL
• Hinzufügen neuer Datenquelle im ODBC-Manager
> Actual Open Source Databases
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.4 Einrichtung des ODBC-Connectors für mySQL
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.4 Einrichtung des ODBC-Connectors für mySQL
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.4 Einrichtung des ODBC-Connectors für mySQL
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.5 ODBC-Connector unter Windows: Systemsteuerung
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.5.1 ODBC-Connector unter Windows: Datenquellen (ODBC)
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.5.1 ODBC-Connector unter Windows: System-DSN oder Benutzer-DSN
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.5.1 ODBC-Connector unter Windows: MySQL-Treiber für die Datenquelle auswählen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
ODBC-Connector für mySQL1.5.1 ODBC-Connector unter Windows: Verbindungsparameter mit Login und Passwort angeben
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenimport aus mySQL in FileMaker2. Importieren ganzer Datentabellen aus mySQL in FileMaker
• Ablage > Datensätze importieren > ODBC-Datenquelle
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenimport aus mySQL in FileMaker2.1 - SQL Abfrage für den Import erstellen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenimport aus mySQL in FileMaker2.2 - Neue Tabelle in FileMaker aus Datenimport erstellen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenaufbau von xt:Commerce2.3 - Import der Datentabelle aus xt:Commerce in FileMaker
• Datentabelle wird inkl. Feldnamen und Daten importiert
• Datentabelle heißt nach dem Import wie die ODBC-Datenquelle
> Nach Import ist Umbenennen der Tabelle notwendig
> Namensschema in Beispiellösung: xt_Tabellenname
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenaufbau von xt:Commerce2.4 - Umbenennen der importieren Tabelle
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenaufbau von xt:Commerce3 - Wichtigste Datentabellen zu Produkt- /Artikeldaten
• products: Artikel Stammtabelle
• products_description: Produktbeschreibung (ggf. mehrsprachig)
• products_attributes: Produktattribute mit Auf- und Minderpreisen
• products_options: Produktoptionen (für Produktattribute) > products_options_values: Produktoptionswerte > products_options_values_to_products_options (Auflösung)
• products_to_categories: Auflösung der Produktkategorien
• products_vpe: Verpackungseinheiten
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenaufbau von xt:Commerce3.1 - Datenstruktur der Produkt- /Artikeldaten
Kundengruppen fürabweichende Preise
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenaufbau von xt:Commerce
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Artikelimport aus xt:Commerce3.2 - Import von Artikeln aus xt:Commerce in FileMaker
• acht produktbezogene Tabellen aus xt:Commerce products, products_attributes, products_description, products_images, products_options, products_options_values, products_options_values_to_products_options, products_to_categories
• zwei kategoriebezogene Tabellen aus xt:Commerce categories, categories_description
• Hersteller: manufacturers
• Preisgruppen: personal_offers_by_customers_status_0 bis 5
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Artikelimport aus xt:Commerce3.3 - Beispiellösung: Ein Teilscript pro Tabelle in xt:Commerce
Gehe zu Layout [„xt_products“ (xt_products)]Alle Datensätze anzeigenAlle Datensätze löschen [Ohne Dialogfeld]Datensätze importieren [Ohne Dialogfeld; DSN: gfm_xtc_test; SQL:
SELECT`products`.`group_permission_0`, `products`.`group_permission_1`, `products`.`group_permission_2`, `products`.`group_permission_3`,[...]FROM `products`
Gehe zu Layout [Originallayout]
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenexport nach xt:Commerce3.4 - Schaltflächenscript (Steuerscript für alle Importe)
Script ausführen [„ts.xtImport_products“]Script ausführen [„ts.xtImport_products_attributes“]Script ausführen [„ts.xtImport_products_description“]Script ausführen [„ts.xtImport_products_images“]Script ausführen [„ts.xtImport_products_options“]Script ausführen [„ts.xtImport_products_options_values“]Script ausführen [„ts.xtImport_products_options_values_to_ products_options“]Script ausführen [„ts.xtImport_products_to_categories“]Script ausführen [„ts.xtImport_categories“]Script ausführen [„ts.xtImport_categories_description“]Script ausführen [„ts.xtImport_shipping_status“]Script ausführen [„ts.xtImport_manufacturers“]
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenexport nach xt:Commerce4 - Export von Artikeln aus FileMaker nach xt:Commerce
• products_id als Primärschlüssel empfehlenswert
• Daten werden im entsprechenden xt:Commerce-Format übertragen
> Betragsfelder als Textfelder mit Punkt als Dezimaltrennzeichen
> Auch einige Zahlenfelder enthalten Felder im Format 0.0000 oder mit entsprechendem Wert
> Statusfelder enthalten meist 1 oder 0 als Statusanzeige
> Beschreibungsfelder enthalten i.d.R. HTML
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenexport nach xt:Commerce4.1 - Scripte für den Export von Daten nach xt:Commerce
• Ein Teilscript pro Tabelle aus xt:Commerce empfehlenswert
• Gleiches Datenmodell wie die Daten, die sich in den MySQL- Tabellen von xt:Commerce befinden.
> Felder müssen im gleichen Format übergeben werden
> Bei Mehrsprachigkeit können in einigen Tabellen wie z.B. products_description mehrere Datensätze mit unterschiedlichen language_ids vorkommen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenexport nach xt:Commerce4.2 - SQL-Statement für das Erzeugen eines neuen Datensatzes
Beispieltabelle: products_to_categories
"INSERT INTO `products_to_categories` (`categories_id`, `products_id`)VALUES ('" &
xt_products_to_categories::categories_id & "', '" &xt_products_to_categories::products_id &
"')"
mySQL-TabelleFeld 1Feld 2
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Datenexport nach xt:Commerce4.3 - SQL-Statement für das Update eines Datensatzes
Beispieltabelle: products_to_categories
"UPDATE `products_to_categories` SET " & "`categories_id` = '" & gm_products_to_categories::categories_id & "'" &" WHERE `products_id` = " & gm_products_to_categories::products_id
mySQL-TabelleFeld 1Abgleichsfeld
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Auftragsimport aus xt:Commerce5 - Datenstruktur der Auftragstabellen
• Primärschlüssel: orders_id
• orders_products_attributes über orders_products_id
• Downloads: xt_orders_products_downloads
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Auftragsimport aus xt:Commerce5.1 - Welche Daten befinden sich wo?
• fünf auftragsbezogene Tabellen aus xt:Commerce: orders, orders_products, orders_total, orders_produts_attributes, ggf. orders_downloads
• Auftrags-Stammsatz enthält Kunden-, Rechnungs- und Lieferanschrift, E-Mail, Telefon, Zahlungsart, IP und ggf. Ust.-ID
• Positionen der Bestellung befinden sich in orders_products > Bestellte Produktattribute in orders_products_attributes
• Gesamtsummen der Bestellung befinden sich in orders_total
• Downloadprodukte befinden sich in orders_downloads
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Auftragsimport aus xt:Commerce5.2 - Beispiellösung: Ein Teilscript pro Tabelle in xt:Commerce
Gehe zu Layout [„xt_orders“ (xt_orders)]Alle Datensätze anzeigenAlle Datensätze löschen [Ohne Dialogfeld]Datensätze importieren [Ohne Dialogfeld; DSN: gfm_xtc_test; SQL:
SELECT`orders`.`account_type`,`orders`.`afterbuy_id`, `orders`.`afterbuy_success`, `orders`.`billing_address_format_id`,[...]FROM `orders`
Gehe zu Layout [Originallayout]
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Kundenimport aus xt:Commerce6 - Datenstruktur der Kundentabellen
• Primärschlüssel: customers_id
• countries über address_book::entry_country_ID
• customers zu address_book und memo 1:n
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Kundenimport aus xt:Commerce6.1 - Welche Daten befinden sich wo?
• xt_customers ist Stammtabelle mit Primärschlüssel customers_id
• Adressen befinden sich in xt_adress_book (1:n über customers_id)
• customers_memo 1:n über customers_id, wenn gepflegt
• customers_info über customers_id, wenn gepflegt
• countries von address_book über countries_id
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Kundenimport aus xt:Commerce6.2 - Beispiellösung: Ein Teilscript pro Tabelle in xt:Commerce
Gehe zu Layout [„xt_customers“ (xt_customers)]Alle Datensätze anzeigenAlle Datensätze löschen [Ohne Dialogfeld]Datensätze importieren [Ohne Dialogfeld; DSN: gfm_xtc_test; SQL:
SELECT`customers`.`account_type`,`customers`.`customers_cid`, `customers`.`cutomers_date_added`,`customers`.`customers_dob`[...]FROM `customers`
Gehe zu Layout [Originallayout]
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Kundenimport aus xt:Commerce6.3 - Einzelne Datensätze importieren (Beispiel customers)
Variable setzen [$customers_id =Hole(ScriptParameter)]Gehe zu Layout [„xt_customers“ (xt_customers)]Alle Datensätze anzeigenAlle Datensätze löschen [Ohne Dialogfeld]Datensätze importieren [Ohne Dialogfeld; DSN: gfm_xtc_test; SQL:
SELECT`customers`.`account_type`,`customers`.`customers_cid`, `customers`.`cutomers_date_added`,`customers`.`customers_dob`[...]FROM `customers`WHERE customers_id = $customers_idGehe zu Layout [Originallayout]
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Markus Schall • goFileMaker.deSchnittstellen von FileMaker zum Onlineshop.
Session: FileMaker und xt:Commerce 7 - Schlussbemerkungen
• Je nach Nutzung des Onlineshops sind möglicherweise nicht immer alle Tabellen mit Daten gefüllt
• Bestellstati aus FileMaker in xt:Commerce mit den Tabellen:
> orders_status > orders_status_history
• Einzelne Datensätze am Einfachsten per ScriptParameter
> Wenn Parameter vorhanden, WHERE-Anweisung durchführen
FileMaker Konferenz2010
FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com
Patrick Risch101 für Switcher
Vielen Dank unseren Sponsoren
Danke für das Bewerten dieses Vortrages