/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Placering af db (sti)
Fra : Hansen


Dato : 23-01-04 11:48

Hej gruppe

Jeg har et cliche webhotel og har så lige læst at de anbefaler at man
placerer sin database i det bibliotek, der hedder db. Biblioteket ligger i
roden sammen med wwwroot. Det er i hvert fald sådan jeg ser det, når jeg
logger på via ftp.
Før lå mine databaser i wwwroot, men har så prøvet at flytte dem over i db,
men kan nu ikke længere få fat i dem. Problemet ligger i Server.MapPath()
kaldet. Efter at have læst lidt om det har jeg prøvet følgende:

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

Men så melder siden en fejl i linjen med : Conn.Open DSN

Er der nogen der også har Cliche (eller andre der ved hvordan
Server.MapPath("..") kaldet skal se ud for at få stien til db biblioteket?

Indtil videre har databasen ligget i samme bibliotek som filen der skulle
have adgang til den og der brugte jeg Server.MapPath("data.mdb") og det
virker fint da den tager stien i forhold til den kaldende fils placering.

Mvh
Søren Hansen



 
 
pepss (23-01-2004)
Kommentar
Fra : pepss


Dato : 23-01-04 12:08


"Hansen" skrev
> Jeg har et cliche webhotel og har så lige læst at de anbefaler at man
> placerer sin database i det bibliotek, der hedder db. Biblioteket ligger i
> roden sammen med wwwroot. Det er i hvert fald sådan jeg ser det, når jeg
> logger på via ftp.
> Før lå mine databaser i wwwroot, men har så prøvet at flytte dem over i
db,
> men kan nu ikke længere få fat i dem. Problemet ligger i Server.MapPath()
> kaldet. Efter at have læst lidt om det har jeg prøvet følgende:
>
> Server.MapPath("/db/data.mdb")

("/db/data.mdb") betyder at din db mappe skulle være i roden at webstedet og
din db mappe liger uden for webstedet.
det du skal er hvis du er i mappen minside som er i mappen www skal der stå
"../" for at komme ud til mappen www og igen "../ for at vider ud.
altså
("../../db/data.mdb")

> Er der nogen der også har Cliche (eller andre der ved hvordan
> Server.MapPath("..") kaldet skal se ud for at få stien til db biblioteket?

jeg har nu ikke lige Cliche men du skal være glad for at de har det sådan
det gør nemlig det at man ikke bare kan hente din data.mdb!


--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Hansen (23-01-2004)
Kommentar
Fra : Hansen


Dato : 23-01-04 12:23


> ("/db/data.mdb") betyder at din db mappe skulle være i roden at webstedet
og
> din db mappe liger uden for webstedet.
> det du skal er hvis du er i mappen minside som er i mappen www skal der
stå
> "../" for at komme ud til mappen www og igen "../ for at vider ud.
> altså
> ("../../db/data.mdb")

Det virker nu! Men jeg kunne godt tænke mig at man ikke gik ud fra det sted
man var nu, hvis nu man flyttede på filerne. Altså sådan at det er ligemeget
om filen f.eks. blev flyttet til et underbibliotek hvis du forstår.
Databasen flytter sig jo ikke, så hvis man kunne lave en henvisning der
relaterede til roden ville man kunne flytte på filen uden at skulle ændre i
den.
Jeg tænkte på noget i retningen af ("/../db/data.mdb")

Lyder det helt sort?

-Søren



pepss (23-01-2004)
Kommentar
Fra : pepss


Dato : 23-01-04 12:32


"Hansen" skrev
>
> > ("/db/data.mdb") betyder at din db mappe skulle være i roden at
webstedet
> og
> > din db mappe liger uden for webstedet.
> > det du skal er hvis du er i mappen minside som er i mappen www skal der
> stå
> > "../" for at komme ud til mappen www og igen "../ for at vider ud.
> > altså
> > ("../../db/data.mdb")
>
> Det virker nu! Men jeg kunne godt tænke mig at man ikke gik ud fra det
sted
> man var nu, hvis nu man flyttede på filerne. Altså sådan at det er
ligemeget
> om filen f.eks. blev flyttet til et underbibliotek hvis du forstår.
> Databasen flytter sig jo ikke, så hvis man kunne lave en henvisning der
> relaterede til roden ville man kunne flytte på filen uden at skulle ændre
i
> den.
> Jeg tænkte på noget i retningen af ("/../db/data.mdb")
>
> Lyder det helt sort?

det lyder bestemt ikke sort! jeg havde selv problemet en gang!
desværre fandt jeg ikke en løgsing på det... og heller ikke en "rigtig" god
grund til at man ikke kunne gøre det på den måde som du skriver.
det er noget med at / stå for roden og man derfor ikke kan gå længer
tilbage.

--
Pepss
Den ordblinde der prøver at blive webdesigner
Fræk frækkere www.cafe-flirt.dk



Torben Brandt (25-01-2004)
Kommentar
Fra : Torben Brandt


Dato : 25-01-04 03:35

pepss skrev:
> "Hansen" skrev
>
>>Jeg tænkte på noget i retningen af ("/../db/data.mdb")
>>
>>Lyder det helt sort?
>
> det lyder bestemt ikke sort! jeg havde selv problemet en gang!
> desværre fandt jeg ikke en løgsing på det... og heller ikke en "rigtig" god
> grund til at man ikke kunne gøre det på den måde som du skriver.
> det er noget med at / stå for roden og man derfor ikke kan gå længer
> tilbage.

Så vidt jeg husker, så kunne man på PWS godt skrive
Server.MapPath("/../db/db.mdb")
Men den går ikke på IIS (måske først senere versioner?). Hvis man vil
bruger parent-path ( ../ ) så må den virtuelle sti ikke begynde med /.
M.a.o. må man gerne skrive
Server.MapPath("../db/db.mdb")
men altså ikke
Server.MapPath("/../db/db.mdb")

Jeg havde i sin tid allerede lavet en del kode, som var testet på PWS,
men sitet skulle ligger på IIS.
Jeg løste problemet med denne funktion:
Function ServerMapPath (sPath)
iParents = UBound(Filter(Split(sPath, "/") , "..", True)) + 1
asRootPhysical = Split(Server.MapPath("/"), "\")
ReDim Preserve asRootPhysical(UBound(asRootPhysical) - iParents)
ServerMapPath = Join(asRootPhysical, "\") & _
Join(Filter(Split(sPath, "/"), "..", False), "\")
End Function

Den kan man kalde med både
ServerMapPath("../db/db.mdb")
og
ServerMapPath("/../db/db.mdb")

Den er sikkert hverken hurtigere eller smartere end så meget andet, men
jeg synes den er nem at bruge, når man vil bruge parent-path som på PWS
uden restriktioner.

Hvis I ikke kan regne den ud, så må I spørge, så vil jeg forsøge at
forklare hvad der foregår...

/Torben


Jørn Andersen (24-01-2004)
Kommentar
Fra : Jørn Andersen


Dato : 24-01-04 07:05

On Fri, 23 Jan 2004 12:23:01 +0100, "Hansen"
<bluesboys@-remove.me-hotmail.com> wrote:

>Det virker nu! Men jeg kunne godt tænke mig at man ikke gik ud fra det sted
>man var nu, hvis nu man flyttede på filerne. Altså sådan at det er ligemeget
>om filen f.eks. blev flyttet til et underbibliotek hvis du forstår.
>Databasen flytter sig jo ikke, så hvis man kunne lave en henvisning der
>relaterede til roden ville man kunne flytte på filen uden at skulle ændre i
>den.
>Jeg tænkte på noget i retningen af ("/../db/data.mdb")
>
>Lyder det helt sort?

Nej, det kan man tit have brug for - hvis man fx har stien til
databasen stående i en include-fil, eller hvis man inkluderer en
menu-fil osv.

Jeg har nogle gange løst det ved at definere en streng-variabel, som
indeholder "afstanden til roden"
- fx hvis filen ligger i roden, så:
strPathAdjust = ""
- hvis filen ligger et niveau væk fra roden:
strPathAdjust = "../"
osv.

Denne variabel sættes så i toppen af de sider, der skal inkludere
filer med links eller database-stier.

Linken (i den inkluderede fil) kunne så fx se sådan ud:
strMyLogo = "<img src=""" & strPathadjust & "img/mitlogo.gif"" osv.
- hvis der fx var tale om stien til et logo, som skulle inkluderes på
flere sider.

Prøv at lege lidt med det, så giver det faktisk mening

Good luck!

--
Jørn Andersen,
Brønshøj

Janus Sander Schiøtt~ (24-01-2004)
Kommentar
Fra : Janus Sander Schiøtt~


Dato : 24-01-04 18:57

> Det virker nu! Men jeg kunne godt tænke mig at man ikke gik ud fra det sted
> man var nu, hvis nu man flyttede på filerne. Altså sådan at det er ligemeget
> om filen f.eks. blev flyttet til et underbibliotek hvis du forstår.
> Databasen flytter sig jo ikke, så hvis man kunne lave en henvisning der
> relaterede til roden ville man kunne flytte på filen uden at skulle ændre i
> den.
> Jeg tænkte på noget i retningen af ("/../db/data.mdb")
>
> Lyder det helt sort?
>
> -Søren

Hvad med ("www.ditnavn.dk/db/data.mdb") eller ("wwwroot/db/data.mdb")

Ikke at jeg ved så meget om lige det, men det plejer at virke med mine
billeder.

Mvh. Janus


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jonas Skafte Jensen (25-01-2004)
Kommentar
Fra : Jonas Skafte Jensen


Dato : 25-01-04 02:31

Det åbner op for et voldsomt hul, som pepps allerede har påpeget i sit
første svar...



Jonas Skafte Jensen (25-01-2004)
Kommentar
Fra : Jonas Skafte Jensen


Dato : 25-01-04 02:36

pepss, sorry...



Jørn Andersen (25-01-2004)
Kommentar
Fra : Jørn Andersen


Dato : 25-01-04 02:55

On Sat, 24 Jan 2004 17:57:11 +0000 (UTC), Janus Sander Schiøtte
<Kun_det_efter_punktumet.schiotte@webspeed.dk> wrote:

>Hvad med ("www.ditnavn.dk/db/data.mdb") eller ("wwwroot/db/data.mdb")

Nej, det er ikke sådan de ligger - "wwwroot" og "db" ligger på samme
niveau.

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste