On Mon, 8 Sep 2003 17:36:48 +0000 (UTC), Torben Sørensen
<torben@afterglow.dk> wrote:
>Jeg laver en copy/paste af
<snip>
>DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
>DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
<snip>
>Og derefter retter jeg linien:
>DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
>til:
>DSN = DSN & "DBQ=" &
>Server.MapPath("C:\Inetpub/cgi-bin/database.mdb")
>
>Som er der min database (downloadet fra html.dk ligger).'
>
>Men virke vil det altså ikke... jeg får denne fejlmeddelelse i
>explore:
>
>Fejltype:
>Server.MapPath(), ASP 0172 (0x80004005)
>Parameteren for stien for metoden MapPath skal være en virtuel
>sti. Der blev brugt en fysisk sti.
>/Default.asp, line 10
Fejlmeddelelsen er faktisk ret præcis.
Server.MapPath "oversætter" fra en virtuel sti (altså en sti i dit
website) til en fysisk sti (stien på drevet).
Hvis din database ligger i roden af dit domæne, kan det fx se således
ud:
Server.MapPath("/database.mdb")
- ligger den i en mappe under domænet, fx mydomain.dk/db/database.mdb,
kunne det fx se således ud:
Server.MapPath("/db/database.mdb")
Start evt. med at lægge db'en i samme mappe som den .asp-fil, der
kalder den, så hedder det bare:
Server.MapPath("database.mdb")
- når det virker, kan du bagefter eksperimentere med at flytte rundt
med databasen.
Vær dog opmærksom på, at det der er 'rod' på din lokale maskine ikke
nødvendigvis er det samme som på dit webhotel ...
PS: Hvis du vil se, hvordan Server.MapPath virker, så lav fx en simpel
..asp-fil, som kun indeholder:
Response.Write Server.MapPath("database.mdb")
Læg filen i samme mappe som db'en og kald den med:
http://localhost/minsti/filnavn.asp
Good luck!
--
Jørn Andersen,
Brønshøj