Jump to content
  • 0

Filemaker naar MySQL 'live' ODBC


elmystica

Question

Ik werk in een Filemaker Pro database, intern ontwikkeld door mijn klant.

 

Dit is wat we proberen te doen:

- In een fotostudio staat een fototoestel verbonden met een iMac.

- Een klein appje autofocust het artikel.

- Het artikel wordt in een containerveld geplaatst, en op de FM-server bewaard.

- De gebruiker kent ook nog het merk en de kleurcode toe.

- Als de klant het artikel op zijn website wil plaatsen, hoeft hij enkel op een knopje te drukken …

- Hierdoor wordt een Applescript aangeroepen, dat kijkt we de online code is voor dat merk en maakt de nodige mappen aan op de FM-server

- De foto wordt op de juiste maten gemaakt (drie verschillende groottes zij nodig op de site)

- Een statusveld krijgt een update zodat in Filemaker te zien is dat de foto op de server werd geplaatst.

 

Tot hiertoe lukt alles perfect.

U moet weten dat in FM de foto zo eigenlijk aan een product werd toegevoegd in een tabel "Stock". Deze tabel wordt door bijna de volledige applicatie in FM gebruikt (in meer dan 80 lay-outs) en bevat een goeie 10.000 records ...

 

Maar wat willen we nog en lukt nog niet …:

- Er is een online database tabel (MySQL) "channel_images". Die houdt bij op welke pagina welke foto getoond wordt.

- Elke record uit de FM tabel Stock waarvan een foto bestaat, moet in die tabel komen.

- Als er in de FM tabel Stock geen voorraad is, moet het veld "is_draft" in de Mysql tabel Channel_images op 1 gezet worden.

- Als in de FM tabel Stock de waarde van het veld "toon_online" niet op 1 staat, moet het veld "is_draft" in de Mysql tabel Channel_images op 1 gezet worden.

- Dit zou automatisch moeten kunnen, zonder een extra knop te duwen, zeg maar.

- Bovendien zijn er in de Mysql tabel Channel_images een aantal waarden die altijd gelijk blijven, maar door de andere functies online, kan ik in MySQL geen default value instellen.

 

 

- Hoe zorg ik ervoor dat hij dat ene veld "is_draft" in MySQL aanpast als er in FM een veld wijzigt, zonder een extra knop toe te voegen?

- Hoe voeg ik vaste informatie toe aan die MySQL tabel?

Link to comment

7 answers to this question

Recommended Posts

  • 0

In jouw eerste vraag lees ik dat je via Apple script de mappen aanmaakt, wat uitstekend lukt.

Dit lijkt mij via FTP te gaan, of anders begrijp ik het niet goed.

 

Verder ontbreekt mij het zicht op het paraat hebben van de ODBC koppeling.

Volgens mij heb je die nog niet ingericht, omdat je (na alles compleet ingericht te hebben) de MySQL tabellen gewoon als Table Occurrences te zien krijgt.

 

Dus... in hoeverre is het volledig ingericht?

Link to comment
  • 0
Ik begrijp dat niet. Wil je dat veldje op 1 hebben wanneer er uberhaupt iets aan het record is gewijzigd?

Je zou dan kunnen kijken naar Get(RecordModificationCount): http://www.filemaker.com/help/13/fmp/nl/html/func_ref2.32.66.html#1030648

en dit b.v. kunnen uitlezen wanneer je van layout wisselt.

 

Voorlopig heb ik het met een calculatieveld uitgewerkt. Ik zocht het iets te ver. Alleen moet die update van dat veld ook online zichtbaar zijn ...

Link to comment
  • 0
In jouw eerste vraag lees ik dat je via Apple script de mappen aanmaakt, wat uitstekend lukt.

Dit lijkt mij via FTP te gaan, of anders begrijp ik het niet goed.

 

Verder ontbreekt mij het zicht op het paraat hebben van de ODBC koppeling.

Volgens mij heb je die nog niet ingericht, omdat je (na alles compleet ingericht te hebben) de MySQL tabellen gewoon als Table Occurrences te zien krijgt.

 

Dus... in hoeverre is het volledig ingericht?

 

Er is een ODBC-connectie met de desbetreffende tabel, die ik in mijn relaties ook zie staan.

Ik heb het met een import vanuit die stock-tabel naar de MySQL tabel proberen te doen. Maar als ik een record wijzig ("is_draft" wordt bvb van 0 naar 1 gebracht, dan krijg ik een nieuw record in MySQL. Bovendien neemt hij bepaalde ongewijzigde records ook als nieuw mee. Bij mijn import actions heb ik aangegeven om records te vergelijken, en desnoods nieuwe maken als ze nog niet bestaan. Probleem is dat ik vergelijk op basis van afbeeldingsnaam, en niet op een ID of zo. Zou dat de oorzaak van dat probleem kunnen zijn?

 

Trouwens, als ik in eender welke lay-out het veld "aantal" in de FM tabel "stock" wijzig, hoe voer ik dan dat importscript uit, zonder dat er een knop moet aangeklikt worden? Een trigger plaatsen op het bewaren, voert de actie uit VOORDAT hij het opslaat, dus dan zijn de gegevens toch nog niet bijgewerkt?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...