Avatar billede aether Nybegynder
23. august 2005 - 09:27 Der er 27 kommentarer

Fejl når jeg ligger hjemmeside op

Jeg har en db og web mappe fra et tidligere webhotel som skal flyttes til nyt. Når jeg logger ind med FTP klienten har jeg oversigt over mine domæner, db og logs mappen. Jeg har overført min gamle db mappe til denne og overført hele webdelen til et af mine domæner, men denne fejl kommer når jeg går ind på siden:

INTERNET BROWSER:
Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

/conn_open.txt, line 3

The '..' characters are not allowed in the Path parameter for the MapPath method.

CONN_OPEN.TXT:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/..db/db.mdb")
Conn.Open DSN
%>
Avatar billede nielle Nybegynder
23. august 2005 - 09:32 #1
Den kan ikke lide de to punktummer:

Server.MapPath("/..db/db.mdb")

- der er lidt uklart hvad du egentlig mener, måske dette?

Server.MapPath("../db/db.mdb")
Avatar billede busschou Praktikant
23. august 2005 - 09:48 #2
der er slet ingen grund til at have ../ med i server.mappath eftersom denne jo netop "mapper" stien :o)
server.mappath("/db/db.mdb")
burde gøre det
Avatar billede busschou Praktikant
23. august 2005 - 09:49 #3
afhængig af om man så benytter / eller ingen foran med mere så får man stien ud fra roden, eller ud fra der hvor scriptet ligger
se evt her for eksempler på brug
http://www.w3schools.com/asp/met_mappath.asp
Avatar billede aether Nybegynder
23. august 2005 - 09:52 #4
Hvis jeg fjerner de 2 .. melder den denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1744 Thread 0xa74 DBC 0x1757c24 Jet'.

/conn_open.txt, line 4
Avatar billede busschou Praktikant
23. august 2005 - 09:57 #5
det kunne måske tyde på at du har sat kode på din database?
Avatar billede softspot Forsker
23. august 2005 - 10:48 #6
Hmmm... hvis jeg læser dit oplæg korrekt, så har du to udfordringer:

1. din udbyder tillader ikke parentpaths (eller den brokker sig ganske enkelt over at formatet af stien ikke er korrekt /..db/db.mdb er som nielle pointerer ikke lovligt).

2. dit db-katalog ligger side om side med dine domænekataloger, altså udenfor roden af dine domæner (og i det tilfælde vil jeg påstå at du skal bruge /../db/db.mdb for at få fat i den, hvilket jo giver et dilemma, da din udbyder ikke tillader parentpaths (hvis min teori holder).

Har du selv oprettet db-kataloget? Hvis ja, kan det være du ikke har rettigheder til at tilgå kataloget (udbyderen skal giver IUSR læse-/skrivrettighed til kataloget)
Avatar billede aether Nybegynder
23. august 2005 - 10:57 #7
Jeg har 5 domæner hvor det ene kører som det skal (er ikke mig som har fået det til at virke), men så skal jeg have flyttet det domæne der virker over på et andet domæne så jeg har kopieret alt fra domænet der virker til det nye, men så er et fejlen kommer:

Server.MapPath() error 'ASP 0175 : 80004005'

Disallowed Path Characters

/conn_open.txt, line 3

The '..' characters are not allowed in the Path parameter for the MapPath method.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/db.mdb")
Conn.Open DSN
%>
Avatar billede busschou Praktikant
23. august 2005 - 11:02 #8
prøv læse mit link :o)
Der er ikke noget belæg for at benytte ../ i sever.mappath
Hvis man skulle bruge ../ så er der jo ikke nogen ide overhovedet med at bruge server.mappath
Ideen er jo netop at mappath mapper stien så du ikke skal tænke på om den ligger en eller flere mapper over den aktuelle
Ja det er normalt som softspot siger at db ligger samme sted paralelt med wwwroot eller hvad det nu kan hedde
netop derfor er scenariet hvis stien er d:\blabla\db\db.mdb at man blot kalder server.mappath("db/db.mdb") eller server.mappath("/db/db.mdb") afhængig af om man ønsker mapningen i forhold til roden her "d" eller i forhold til hvor ens fil der kalder mappath ligger :o)
Avatar billede softspot Forsker
23. august 2005 - 11:03 #9
Jeg tror det er problem nr. 1 fra min kommentar. Det er en sikkerheds lockdownfeature som er standard på en Windows 2003 server (og kan slåes til på en 2000 server såvidt jeg husker).

Du kan evt. prøve at lave en

response.write(server.mappath("/"))

et eller andet sted på din side. Den resulterende sti kan du så rette til så den peger på db-kataloget og bruge i din connectionstring (bare for testens skyld).
Avatar billede softspot Forsker
23. august 2005 - 11:05 #10
busschou >> for en gangs skylde tror jeg vi er uenige... :)

Server.MapPath("/") giver mig roden af min webserver/websitet og ikke den partition sitet ligger på. Det er vist en væsentlig forskel...
Avatar billede softspot Forsker
23. august 2005 - 11:06 #11
jeg sprogspasser!

Det hedder sq da: "for en gang skyld"
Avatar billede busschou Praktikant
23. august 2005 - 11:06 #12
hmm kan det virkelig passe ;o), måske jeg skal tage mig en middagslur
Avatar billede busschou Praktikant
23. august 2005 - 11:08 #13
jeg må vist hellere trække mine ord i mig igen, er ikke meget for det ellers ;o)
Avatar billede busschou Praktikant
23. august 2005 - 11:17 #14
hmm på denne side
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/270433db-6a1a-42b1-86fa-9c4ca07b75e1.asp
står følgende
---
For security reasons, the AspEnableParentPaths property has a default value set to FALSE. Scripts will not have access to the physical directory structure unless AspEnableParentPaths is set to TRUE.
---
Det skyldes højst sansynlig dette eftersom denne faktor gør om man må benytte .. eller ej jvnf
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/30d46649-330a-46bc-8d4b-541ed541e3a5.asp
Avatar billede nielle Nybegynder
23. august 2005 - 11:26 #15
Nu behøver scriptet jo faktisk ikke nødvendigvis at køre fra roden at web-kataloget, og hvis det ikke gør, så kan:

Server.MapPath("../db/db.mdb")

- da sagtens give mening (også uden at blande parent-paths ind i billedet).

Og i øvrigt vil jeg fuldt tilslutte mig softspot's forslag 23/08-2005 11:03:25.
Avatar billede softspot Forsker
23. august 2005 - 11:27 #16
.. er og bliver parentpath uanset hvorfra den bliver udstedet... :)
Avatar billede busschou Praktikant
23. august 2005 - 11:32 #17
jeg har jo trukket min kommentar tilbage ;o), men min nye kommentar siger så at det er muligt at ../ ikke er tilladt på serveren
Avatar billede softspot Forsker
23. august 2005 - 11:34 #18
busschou >> sagde jeg ikke det i min kommentar fra 23/08-2005 10:48:53 punkt 1...? :)
Avatar billede busschou Praktikant
23. august 2005 - 11:37 #19
softspot >> nej du sagde at den enten ikke understøtter paranteser eller at formatet /..db/db.mdb er forkert, hvilket er åbentlyst med mindre der rent faktisk findes en mappe som rent faktisk er navngivet "..db" hvilket mapper sjældent er ;o)
Det jeg siger er at brugen af "../" ikke er tilladt jvnf aethers kommentar 23/08-2005 10:57:46
Avatar billede softspot Forsker
23. august 2005 - 11:41 #20
busschou >> prøv lige at læse dette ord igen "parentpaths" og fortæl mig at der ikke står noget om parent path i det ord ;)
Avatar billede busschou Praktikant
23. august 2005 - 11:48 #21
godag mand økseskaft eller hvad det hedder, måske hedder det bare godnat ole
jeg trækker mig bare helt nu for øjnene må da fejle noget, skal i øvrigt til lægen om en halv time, måske han skal tjekke mine øjne samtidig
sorry!, total læse fejl, pinligt :o/
Avatar billede softspot Forsker
23. august 2005 - 11:52 #22
busschou >> rooolig nu, vi skal jo bare have hjulpet aether med sit problem :)

Held og lykke ved lægen :)
Avatar billede aether Nybegynder
23. august 2005 - 16:25 #23
Softspot, det er på samme webhotel domænerne ligger så synes ikke det kan være en sikkerheds lockdown da det virker på det ene domæne med de indstillinger. Det eneste jeg gør er at kopiere til nyt domæne på samme webhotel med samme indstillinger.
Avatar billede softspot Forsker
23. august 2005 - 16:28 #24
Med mindre det er noget der skal sættes op pr. website... :)
Avatar billede aether Nybegynder
23. august 2005 - 19:17 #25
jaa.. det kunne jo også tænkes, men hvad?
Avatar billede softspot Forsker
23. august 2005 - 22:29 #26
Hvis det er en Windows 2003 server, kan du under egenskaber for websitet finde den fane der hedder "Home Directory" og der vælge knappen "Configuration" som åbner dialogen "Application Configuration". Herpå er der en fane som hedder "Options" hvor der gerne skulle stå "Enable parent paths" til højre for en checkbox... den skal være krydset af for at parent paths fungerer...

Men det er naturligvis kun fedt hvis det er en Windows 2003 server :)
Avatar billede aether Nybegynder
24. august 2005 - 16:17 #27
Tror vi glemmer det indtil videre da jeg bare laver omdirigering til det domæne som virker indtil videre.. Men mange tak for hjælpen og jeres hurtige svar

Hilsen Aether
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester