|
Tip 88 -
Sorry, FileMaker is unable to read the disk this file is
on... 
Sorry, FileMaker is
unable to read the disk this file is on.
Click Continue to try again, or click Exit and copy this
file to another disk.
Deze keer een wat raadselachtige
boodschap die gelukkig maar af en toe voorkomt. Maar geheel
onschuldig is ze niet. Bovendien doen er een aantal
fabeltjes en vage verhalen de ronde: het zou te maken hebben
met bestandscorruptie.
Eigenlijk klopt dat wel een beetje,
alleen is die bestandscorruptie er dan (normaal gesproken)
nog niet. Ze is in de maak, en daar zijn we dan
nog zelf verantwoordelijk voor...
Vaak helpt een klik op
Continue
niet, en blijft er geen andere oplossing dan
Exit. FileMaker
sluit dan af... En we mogen van geluk spreken als onze
bestanden daarna nog (onbeschadigd) opengaan.
Wat is er nu feitelijk aan de
hand?
In principe is er een probleem met
het schrijven naar de harde schijf. Dat kan veroorzaakt
worden door een te volle harddisk (of een te volle
floppy voor wie die nog gebruikt), maar vaak ook een
te volle Temp directory in Windows
(c:\Windows\Temp).
Maar er is nog een andere oorzaak
mogelijk:
Het probleem doet zich voornamelijk
voor wanneer verschillende computers met hetzelfde
bestand werken, zonder dat we FileMaker
Server gebruiken. We werken in dat geval dus
met "gewone" FileMakers die in een
Peer-to-peernetwerk staan.
De computer die als eerste een
bestand opent, wordt in zo'n situatie gepromoveerd tot
host (de gastheer dus). Alle andere computers moeten
dan inloggen op die gastheer. Die zendt immers zijn
FileMaker-gegevens over het netwerk via een eigen
FileMaker-protocol. Wanneer een andere
FileMaker opstart, moet die zijn bestanden openen via
de Host-knop. Daarmee
speurt hij met zijn eigen netwerkprotocol het netwerk af om
te zien welke FileMaker-bestanden er allemaal al open
staan. Daar kan dan probleemloos op ingelogd
worden.
Dit was de optimale situatie, en zo
hoort het.
Nu de knoeimethode. De
tweede gebruiker start zijn computer op, klikt op
Open
File en gaat via het
dialoogpaneel van Windows (of van de Mac)
naar het bestand dat moet worden geopend (hoewel dat al open
staat voor die andere computer). Het besturingssysteem
ziet daar echter geen graten in, en hop, één
enkel bestand is geopend door twee
computers. FileMaker is wel meer gewoon en
accepteert dat vrolijk, tot...
Tot een save-operatie
gebeurt. FileMaker doet dat immers automatisch
"during idle time", wanneer er dus even geen
activiteit is. Computer 1 (de gastheer, weet u nog wel)
schrijft gegevens weg naar de plaats waar het bestand staat
(vaak zijn eigen harde schijf) en meldt dit aan het
besturingssysteem (Windows of
MacOs). Computer twee wil nu net op dat moment
hetzelfde doen en meldt dat aan zijn
besturingssysteem. Dat gaat dan naar de file kijken en
zegt: "Ho! maar! dat kan nu even niet: daar wordt op dit
moment aan gewerkt". FileMaker kan dus niet doen
wat hij wilde doen en reageert daar dan wat beteuterd
op. Vandaar dus die foutmelding (zie
hierboven). Als we geluk hebben, heeft het
besturingssysteem van de andere computer het bestand
inmiddels vrijgegeven. Klikken we dan op
Continue,
dan is het onze beurt om naar disk te schrijven.
Uiteraard is de hierboven beschreven
"knoeimethode" een absoluut onveilige procedure. De
tweede computer mag dus NOOIT, NOOIT, NOOIT, NOOIT openen
via Open File,
wel via HOST.
We doen er dus goed aan alle
gebruikers hiervan op de hoogte te brengen. Beter nog
is het openen te laten gebeuren via een beveiligde
launcher file, apart geprogrammeerd voor elke
gebruiker. Hoe zo'n launcher file geprogrammeerd
wordt, is weer een ander verhaal.
|