webForumDet fria alternativet

databas utanför publik rot

ASP

13 svar · 359 visningar · startad av Mira

Medlem sedan maj 2001966 inlägg
Frågan#1

Mitt webhotell har en databas-mapp utanför den publika roten där databaser ska ligga.
Jag har tidigare skrivit direkt sökväg i koden, men nu har de ändrat sökväg.
I ett mail skriver de att jag ska använda server.mappath.
Har försökt läsa mej till här på forumet hur man skriver sökvägen rätt då, men överallt skrivs det att man ska skriva direkt sökväg istället.
Jag har läst mej till hur man får fram sökvägen, och kan visserligen göra så, men jag undrar varför det inte funkar med server.mappath?
Webhotellet tycker ju att jag ska skriva så, så det borde ju funka...?

Strukturen ser ut såhär:

db
www
  mapp1
    mapp2 - här ligger koden
Medlem sedan juni 200032 967 inlägg
#2

Borde väl funka med:

server.mappath("/../db/foo.mdb")

, om webservern tillåter att man använder "parent paths", dvs .. för att stega bakåt i katalogstrukturen.

edit: Klantade mig en aning med hjärnan. =)

Medlem sedan maj 2001966 inlägg
#3

Nej, det går inte, för då kommer den publika mappen in i sökvägen.

Medlem sedan juni 200032 967 inlägg
#4

Va?

Om du skriver ut sökvägen såsom jag specificerade den, med response.write, hur ser det ut då?

Medlem sedan maj 2001966 inlägg
#5

Sorry, blev helt fel först.

Det blir så här:

d:\www\xxxxxxxxxx\public_html\db\foo.mdb

alla x:en står för min url+en massa tecken dom satt dit för säkerhet.

Den rätta adressen ska vara:

d:\www\xxxxxxxxx\db\foo.mdb

Varför det nu ska vara www där..... då ser mitt exempel fel ut.
"www" ska ersättas med "public_html" i min struktur.

Medlem sedan juni 200032 967 inlägg
#6

Prova att stega tillbaka en nivå till då.

Medlem sedan maj 2001966 inlägg
#7

Menar du så här?
server.mappath("/db/foo.mdb")

Samma resultat.

Medlem sedan juni 200032 967 inlägg
#8

Nej, lägg på en till ../.

server.mappath("/../../db/foo.mdb")
Medlem sedan maj 2001966 inlägg
#9

Nä, samma sak.
Verkar inte funka med "parent path"....

Medlem sedan juni 200032 967 inlägg
#10

Jag förstår inte varför du måste använda server.mappath()? Du har ju den kompletta, riktiga sökvägen? :q

Medlem sedan maj 2001966 inlägg
#11

För att jag fick detta mail från mitt webhotell och trodde väl då att det skulle funka...
Ville bara ta reda på vad JAG gjorde för fel, men det är kanske inte där felet ligger... och nu vet jag det.

Våra teknikare har gjort vissa säkerhetsuppdateringar och därför måste göra en ändring i sökvägen till din databas:
DBQ="& server.mappath("databas.mdb").

Medlem sedan maj 2001966 inlägg
#12

Nu har jag fått reda på att rätt adress ska vara:
server.mappath("../../../db/foo.mdb")

Saknades alltså 2 prickar...
Och ingen slash först, för då kommer "public_html" med.

Medlem sedan juni 200032 967 inlägg
#13

Med inledande slash skall sökvägen utgå ifrån din rot, dvs public_html. Om man sedan stegar bakåt borde man komma rätt.

Om du inleder din sökväg med ../ så kan du inte använda samma sökväg oberoende av var dina filer ligger.

Det låter mycket märkligt att du inte kan inleda med / och sedan stega bakåt...

Medlem sedan apr. 20031 660 inlägg
#14

HEJ!

För att prova det @nders påstår, gör du en mapp i din folder, och lägger in en fil med ditt databasanrop.

Det bör alltså inte fungera, eftersom sökvägen till databasen inte utgår från roten.

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)