Åbne Microsoft Access-filer fra et netværksdrev

For at det hele nu ikke skal handle om tre bedagede herrer, der har valgt at rejse verden tyndt og spille 25 år gammel musik, kommer her en gang computer-snak:

Forleden dag ville jeg indtaste et par nyindkøbte DVD’er i min database, som er lavet med Microsoft Access, men det kunne pludselig ikke lade sig gøre – min gode gamle database, som har kørt problemfrit i flere år, gav nu denne kryptiske fejlmeddelelse, når jeg forsøgte at åbne mdb-filen:

“Denne fil kan ikke åbnes i Microsoft Access. Filen ligger udenfor intranettet eller på et Website, du ikke har tillid til. Filen kan ikke åbnes i Microsoft Access pga. risiko for sikkerhedsproblemer”

Filen lå ganske rigtigt ikke på min harddisk, men på min netværksdisk som jeg har tildelt sit eget drevbogstav – og så ville Access altså ikke åbne den.

En tur på Google afslørede, at det er den nyeste version af Internet Explorer (IE7), der er ansvarlig for denne opførsel, og ud fra den engelske version af fejlmeddelelsen (“Microsoft Access cannot open this file. This file is located outside your intranet or on an untrusted site. Microsoft Access will not open the file due to potential security problems.”) var det hurtigt at finde en Microsoft KB-artikel om problemet. Ifølge denne artikel kan man løse problemet ved at åbne Internet Explorer og tilføje netværksdiskens IP-adresse til sikkerhedszonen “Lokalt intranet” (og ja, det er jo Microsoft, så naturligvis skal et databaseproblem løses inde fra webbrowseren :-D).

Som sagt så gjort, og så skulle den ged være barberet – men nej! Jeg blev ved at få fejlbeskeden, og databasen ville ikke åbne.

Så tilbage til Google og søge videre, og der var forskellige forslag til en løsning på problemet. Alle var enige om, at problemet lå i, at netværksdisken blev opfattet som et websted i Internet-zonen (hvilket ikonet i nederste højre hjørne af netværksdiskens mappevindue da også bekræftede), og alle var også enige om, at løsningen var manuelt at føje netværksdisken til zonen Lokalt intranet. Der var så forskellige meninger om, hvordan man skulle skrive adressen til netværksdisken; nogle foreslog bare den rå IP-adresse – i mit tilfælde “192.168.1.100” – andre sagde at det skulle skrives “file://192.168.1.100”, andre igen foreslog denne variant “file:///U:”, hvor U er det drevbogstav som er tildelt netværksdisken, og så var der nogen der foreslog forskellige varianter hvor man brugte diskens netBIOS-navn. Men lige lidt hjalp det – uanset hvilke krumspring, jeg forsøgte, blev netværksdisken stadig set som en del af Internet-zonen.

Efter lang tids søgen og grublen, fandt jeg så endelig ad omveje frem til endnu en KB-artikel fra Microsoft, nemlig denne: Windows Internet Explorer 7 may not correctly recognize the zone to which a network resource belongs when you access the resource by using a mapped drive in Windows Vista or in Windows XP with Service Pack 2. Kort fortalt fortæller artiklen, at der er en bug i bl.a. Windows XP med SP2 (som jeg har) der gør, at der kan gå kludder i zonerne når man bruger et “mapped drive”, altså et netværksdrev med et tildelt drevbogstav. Og artiklen fortæller endda også, at der er lavet et såkaldt “hotfix”, som er en lille opdatering, der afhjælper problemet.

Hotfixes er som regel ikke direkte tilgængelige på nettet (formentlig fordi de kan gøre mere skade end gavn, hvis man installerer dem uden at være ramt af det problem, de skal afhjælpe), så man skal henvende sig til Microsoft for at få fat i det. Det gjorde jeg så, men det kom der desværre ikke noget ud af. Først fik jeg en venlig mail om, at her var en adresse hvor jeg kunne downloade hotfixet – men man havde blot glemt at skrive adressen i mailen! Det gjorde jeg dem så opmærksom på, hvorefter jeg fik denne besked “Currently the hotfix described in 929798 is unavailable in Danish language” og så et link til en supportside, hvor man formedelst et par tusind gode danske kroner kunne få lov at henvende sig til Microsofts produktsupport! Virkelig flot, Microsoft …

Heldigvis er der andre, der er blevet trætte af alt bøvlet med at få fat i Microsofts hotfixes, så de har oprettet siden thehotfixshare.net, hvor de har samlet en hel masse hotfixes – og deriblandt også den, jeg skulle bruge. Man skal registrere sig for at kunne downloade filen, men det gik nemt og smertefrit, og snart var filen hentet ned (jeg har nu lagt den her på min server – se link nedenfor). Så var det bare at dobbeltklikke og installere, og efter en genstart var sandhedens time kommet: Jeg åbnede mit netværksdrev og lagde straks mærke til, at ikonet i nederste højre hjørne viste “Lokalt intranet”, så nu blev drevet tilsyneladende korrekt identificeret. Dobbeltklik på mdb-filen og, voila, jeg havde nu min gamle database igen!

Hvis andre har samme problem, kan I hermed spare nogle timers søgen. Her er den løsning, der virkede for mig (OBS: Prøv først trin 3-8 og se om det virker. Hvis ikke, så tag trin 1-2 med!):

  1. Download og installer filen IE7_WindowsXP_KB929798_v2_x86_ENU.exe
  2. Genstart computeren
  3. Åbn Internet Explorer
  4. Vælg menuen Funktioner og tryk på Internetindstillinger
  5. Tryk på fanebladet Sikkerhed og derefter på Lokalt intranet
  6. Tryk nu på knappen Websteder og derefter på knappen Avanceret
  7. Skriv netværksdiskens IP-adresse (uden “file:” eller andet – bare den rene IP-adresse) under “Føj dette websted til zonen” og tryk på Tilføj
  8. Tryk Luk og OK hele vejen tilbage

Nu skulle netværksdisken gerne identificeres som en del af det lokale intranet, og dermed er der igen uhindret adgang til de gemte filer på disken.

Opdatering:

Nu gik det lige så godt, og jeg havde endelig fået det til at virke på min bærbare. Da jeg så opdagede, at jeg havde samme problem på den stationære PC, tænkte jeg, at løsningen måtte være den samme – men nej! Ovenstående metode virkede mystisk nok ikke …

Efter lang tids søgen, fik jeg øje på denne advarsel nederst i KB-artiklen fra før:

“This workaround does not work for UNC or file:// addresses that use an IP address. For example, Internet Explorer identifies \\157.54.100.101\share, or file://157.54.100.101/share, as being in the Internet zone, even if you add the appropriate IP address range to the Local Intranet Sites list. In this case, you must use a file:// URL that has the NetBIOS name (for example, \\server\share) for the site to be identified in the Local intranet zone.”

Og det viste sig at være dér hunden lå begravet: Jeg havde mappet mine netværksdrev via min netværksdisks IP-adresse, og så kan Windows altså ikke finde ud af at det ikke er en internetside.

Løsningen var derfor at afbryde forbindelsen til mine netværksdrev og så oprette forbindelsen igen, men denne gang vha. servernavnet i stedet for IP-adressen. Altså mapper jeg nu mine drev til “\\minserver\minmappe” i stedet for “\\192.168.1.100\minmappe”, og så virker det også på den stationære – dog med den vigtige tilføjelse, at punkt 7 ovenfor skal være:

  1. Skriv netværksdiskens NetBIOS-navn med to omvendte skråstreger foran (f.eks. “\\minserver“) under “Føj dette websted til zonen” og tryk på Tilføj

Opdatering 2:

Det skal åbenbart ikke være nemt, dette her … Hvis du får en fejlmeddelelse i stil med “Netsværksstien blev ikke fundet”, når du forsøger at mappe drev via NetBIOS-navnet (og det gjorde jeg pludselig!), så er det fordi Windows ikke kan finde ud af, hvilken IP-adresse den skal “oversætte” NetBIOS-navnet til.

Den eneste løsning, jeg har fundet indtil videre er, at skrive oplysningerne ind i Windows” hosts-fil. Det er en slags “telefonbog” med oplysninger om, hvilke IP-adresser, der hører til hvilke NetBIOS-navne (og også almindelige domænenavne, hvis man vil det).

Sådan gør du:

  1. Åbn mappen “C:\WINDOWS\system32\drivers\etc” og find filen “hosts” (eller søg efter filen, hvis den ikke findes der)
  2. Åbn filen med Notesblok, Wordpad eller en anden simpel teksteditor
  3. Find den linje, hvor der står “127.0.0.1 localhost” – er som regel nederst i filen
  4. Tilføj en linje nedenunder efter dette princip: “IP-adresse netbiosnavn” – i mit tilfælde blev det til “192.168.1.100 NAS_disk”
  5. Gem filen – HUSK at den ikke skal have nogen filendelse (altså ikke f.eks. “hosts.txt”, men bare “hosts”)

Nu ved Windows, hvilken IP-adresse den skal hente, når man beder om adgang til et drev via NetBIOS-navnet.

Den sidste opdatering burde ikke være nødvendig, hvis ellers netværksdisken er i samme arbejdsgruppe som alle de øvrige maskiner, men selvom den er indstillet sådan hos mig, så vises den alligevel ikke sammen med de andre arbejdsgruppecomputere – og derfor har jeg været nødt til at lave dette sidste trick. Mon der kan dukke flere genvordigheder op nu …?



Skriv svar

XHTML: Du kan benytte disse tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>