Hét vraag- en antwoordplatform van Nederland

Wat is de beste manier om een bestaande FileMaker database te migreren naar een MySQL database?

Het liefst niet met een duur migratieprogramma, daar het slecht om een enkele keer gaat en zo'n pakket $500 kost.
Ik ben de route export/import via .csv file(s) aan het onderzoeken en vraag me af of dat een goede weg is.

Verwijderde gebruiker
12 jaar geleden
723

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Het kan heel goed met CSV. Exporteer de data vanuit FileMaker. Let goed op dat jet tekstvelden omsluit met dubbele quotes ("). Bewerk het CSV bestand, zodat de kolomnamen (de eerste regel met de namen van de velden) er niet in staan.

Als je dan het bestand in MySQL wil inlezen, gebruik je bijvoorbeeld "load data local infile". (Voorbeeld: http://www.tech-recipes.com/rx/2345/import_csv_file_directly_into_mysql/ )
Als je de MySQL op een Server hebt staan, en je kan PHP draaien, en het is mogelijk om phpMyAdmin te gebruiken, gebruikt dat dan voor het inlezen van de data.
Als het niet in een keer lukt, kijk dan goed naar de MySQL foutmeldingen. Meestal heb je de tekst velden, of datum velden niet goed geformatteerd.

Een andere optie, is via ODBC. Hierbij kan je de data in een MySQL database importeren direct vanuit FileMaker. Op Windows is de standaard bijgeleverde ODBC driver, van MySQL niet van FileMaker, genoeg. ODBC is wel complexer met het opzetten van de verbinding.

Ik adviseer jou gewoon de gekozen manier, CSV, te doen.

Succes
(Lees meer...)
Verwijderde gebruiker
12 jaar geleden
Verwijderde gebruiker
12 jaar geleden
Dank je voor je antwoord en voor de link naar dat script. Ik ben toch de route via ODBC aan het uitchecken. Want ik zou de klant liefst een actieve koppeling willen aanbieden. Van PHP programmeren heb ik nog absoluut te weinig kaas gegeten, maar het (eenmalig) importeren van een .csv file heb ik gedaan met behulp van Navicat en lukken doet dat verder prima. ;-) Vanaf FileMaker 9 is er ondersteuning voor External SQL Data Sources (ESS). Om de bestaande FM database te behouden voor de lokale verwerkingssnelheid zit ik de lobbiën of ik niet een extra database in FM kan gebruiken om de live koppeling met een webshop te realiseren. FM en de webshop delen zo dezelfde MySQL database. Ik ben eigenlijk wel benieuwd of deze gedachte zou kunnen werken. Natuurlijk zal 1 van de 2 zijden met de andere rekening moeten houden, zo zal waarschijnlijk de webshop een extratje nodig hebben om de gegevens op de juiste manier in deze extra database te benaderen.
In mijn ogen is dit wel de meest elegante oplossing, want de gegevens worden realtime verwerkt en niet via een dumpfile een of meerdere keren per dag.

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding