Ga naar inhoud
  • 0

External Data Sources


Rony Rabijns

Vraag

Ik wil een External Data Source (een FM9-bestand) niet hard-coded opgeven maar als variabele parameter. Kan dat? Ik puzzel er al een hele tijd mee, maar het wil niet lukken.

 

De situatie is de volgende:

Een moederdatabank moet x-aantal dochterdatabanken updaten. Nu kan ik voor iedere dochter een EDS-aanmaken, met bijhorend update-script. Maar ik wil het volledig dynamisch maken:

Eén update-script laat ik alle namen dan de dochterdatabanken doorlopen en laat zodoende telkens een variabele instellen met de bestandsnaam die ik zou graag zou willen gebruiken als EDS. Dit houdt in dat ik met één update-script alle dochters up-to-date kan houden.

Link naar reactie

12 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Ik doe mijn documentenbeheer volledig vanuit FileMaker, waarbij ik niet en wel FileMaker docs kan:

 

toevoegen

openen

save copy

delete

move file

rename file

add reference

change filepath

 

En dat steunt allemaal op variabelen.

 

Dus op je vraag:

Kan dat?

zou ik zeggen; ja....

 

EDS en ESS is meer gericht op ODBC/SQL/Oracle (en géén Access).

Verwijder je SQL/Oracle dan blijft ODBC over.

En daar heb ik ook problemen mee als ik langs beide kanten op FileMaker niveau blijf.

Ik krijg mijn EDS To's wel in de graph, maar mijn logica schijnt niet dezelfde te zijn als de onderliggende FM/EDS logica.

 

Heeft Jonathan Stark niet ooit een artikel geschreven hierover ?

Link naar reactie
  • 0

Mijn 'denk het wel' komt van mijn in FM8+ werkwijze.

 

Ik store een filepath in een tempglobal, bv :

 

filewin:/G:/JWES FM Training/Demo Files/Conversion.log

 

Ieder onderdeel binnen die waarde kan ik dus via berekening veranderen.

 

Ik kan gemakkelijk een nieuwe plaats definieren om het bestand weg te schrijven, of zelfs te verplaatsen:

filewin:/C:/Documents and Settings/Administrator/Desktop/Conversion.log.

 

Door van ieder segment een variabele te maken, speel ik met ieder onderdeel.

 

Of zie ik het verkeerd ?

Link naar reactie
  • 0

Ik denk inderdaad dat je het verkeerd ziet.

 

Een variabele gebruiken in een file path bij het definiëren van een EDS laat FM blijkbaar niet toe.

 

Wat jij voorstelt lukt inderdaad perfect, en al sedert een aantal versies. Maar die "truuk" had ik ook graag werkend gehad met EDS'en en TO's.

Indien niet, moet ik momenteel (afgerond 40 x 15) 600 TO's aanmaken in het moederbestand, plus 40 update-scripts met (afgerond 40 x 100) 4000 velden.

En dat alleen maar omdat de serverscripts geen "import records" ondersteunen !

Link naar reactie
  • 0

Hoe moet ik het zien van die 40 updates?

Lever je elke keer een nieuwe kopie van de aanpaste moeder als dochter uit en moet de data uit de oude dochter dan over worden gezet?

En zo ja, moet dat dan op de server of mag het ook lokaal?

 

Of gaat het alleen om data die vanuit een hoofdbestand (moeder) wordt gedistribueerd over deelbestanden (dochters)?

Ook hier: moet het op de server?

 

rmw

Link naar reactie
  • 0

Een server (met een moederbestand) moet in een 40-tal databanken (de dochters, een aantal op haar eigen schijf, een aantal extern buitenshuis) overeenstemmende tabellen van actuele data voorzien. Dat gaat met een script d.m.v. set field()'s waarbij gegevens die bestaan geupdate worden, en gegevens die nog niet bestaan worden toegevoegd. (Ter zijde: verouderde gegevens, lees gegevens die niet meer in de moederdatabank zitten maar nog wel in de dochterbanken, worden op regelmatige basis verwijderd via een ander script in de dochterdatabanken)

 

Per dochter worden een 18-tal tabellen geupdate. Indien ik de EDS variabel kan maken, los ik het in de RG van de moeder op met 18 TO's. Indien niet, moet ik het of manueel aanpassen na iedere run van het script, of moet ik 18x40 TO's maken ... En dat in een single-file solution met nu al meer dan 50 tabellen ...

 

Nu doe ik dus nog veel manueel werk. Dat werkt wel, met dien verstande dat ik iedere keer na een serverscript-run, met een client de EDS in de moeder moet aanpassen en de server het script opnieuw laten runnen. Als je weet dat een update ongeveer 30 minuten duurt, kan je je wel voorstellen hoe lang het duurt vooralleer de laatste dochter geupdate is. Zeker als je weet dat de data minimaal één keer per maand geupdate dient te worden, dat ik 's nachts niet (meer) werk, er dat nog andere klanten zijn die geholpen willen worden.

 

Hopelijk heb je nu een beter zicht op de probleemstelling ?

 

PS: Als je nu eens kon importeren met een serverscript ... tja dan was het eenvoudig. Maar dat laat FM-server dus niet toe !

("import records" is geen webcompatible-scriptstap :-( )

Link naar reactie
  • 0

De belangrijkste vraag blijft: moet het op de server?

Als dat niet hoeft kan je namelijk met de file plug-in een bestand naar een vaste locatie onder een vaste naam kopieren en vanuit de moeder 1 TO-opzet maken naar dat bestand.

Afhankelijk van welk bestand daar staat kan de afhandeling in de scripts verschillen.

 

Ik hoop dat het wat duidelijk is 8)

 

rmw

Link naar reactie
  • 0
De belangrijkste vraag blijft: moet het op de server?

Als dat niet hoeft kan je namelijk met de file plug-in een bestand naar een vaste locatie onder een vaste naam kopieren en vanuit de moeder 1 TO-opzet maken naar dat bestand.

 

Ja dat moet. De software draait bij een aankoopcentrale die haar leden actuele prijzen toelevert. Indien de centrale dat niet automatisch doet, is de kans groot dat de leden de prijzen (zelf) niet of te laat updaten. Dat bleek in het verleden een probleem te zijn. Toen had ik een systeem op poten gezet zoals jij aangaf. Ik stelde vast dat bepaalde leden de prijzen nooit updaten, met alle gevolgen vandien ...

 

Zijn we nu terug bij af wat het probleem en de mogelijke oplossing betreft?

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...