Avatar billede andersasp Nybegynder
31. januar 2004 - 02:40 Der er 5 kommentarer og
1 løsning

Connection til database (include)!

Hejsa eksperter!

Jeg er ved at lege med noget statistik som bruger include filer!

mit problem er dog at der er fejl med database forbindelsen.

Hvis jeg f.eks. har filen /side.asp som har en includer filen /counter.asp får jeg inden fejl da database stien er den samme fra de to filer! men har jeg en side som hedder /tekster/side.asp melder den fejl da den vil have databaesn til at ligge i /tekster/database/counter.mdb

Hvordan gør jeg sådan at databasen altid bliver hentet ligegyldigt hvilket biblotek jeg befinder mig i, helst uden at skrive hele stien fra roden (c:\...)

Database forbindelsen på include filen counter.asp ser således ud:

<%
MM_counter_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/counter.mdb")
%>
Avatar billede andersasp Nybegynder
31. januar 2004 - 02:43 #1
Jeg staver vist som en brækket arm lige nu :O
Avatar billede stoney96 Nybegynder
31. januar 2004 - 03:24 #2
Jeg bruger altid selv at lave en connections-fil som faktisk ikke behøver at indeholde andet end:
<%
MM_counter_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/counter.mdb")
%>
Du skal så bare inkludere denne fil i toppen af alle asp-sider som skal benytte databaseforbindelse. Når du inkluderer skal du så bare sørge for at ramme inklude-filen med relative stiangivelser.
Avatar billede andersasp Nybegynder
31. januar 2004 - 03:33 #3
Problmet er at det er noget statistik som skal bruges på en hjemmeside og den side som logger IP m.m ligger her:

/count.asp

De sider som har en include (/count.asp) kan godt ligge i f.eks. bibloteket:

/sider/kategori/drama/side.asp

den vil derfor nu lede efter databasen i /sider/kategori/drama/database/counter.mdb

Connectionen i /count.asp skal derfor lægge fast således den ikke bliver ændret - det ville virke fint at skrive hele stien: c:/localhost/...osv.. men der hvor jeg skal hostes er dette blokeret af sikkerhedsmæssige årsager!
Avatar billede ulrikp Nybegynder
31. januar 2004 - 10:47 #4
Prøv med:
MM_counter_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/") & database/counter.mdb

Jeg mener nemlig at server.mapPath("database/counter.mdb") tager udgangspunkt i det bibliotek, hvor asp-filen eksekveres (database/counter.mdb appendes), hvorimod server.mapPath("/") returnerer roden af websitet, hvorefter database/counter.mdb appendes. Så ligger databasen i [website rod]\database\counter.mdb burde det virke.
Avatar billede andersasp Nybegynder
31. januar 2004 - 11:59 #5
Tak skal du have det virker -

det er ellers en helvede med access connections, hvis man har mange filer/bib som bliver flyttet i forhold til databasen!
Avatar billede ulrikp Nybegynder
31. januar 2004 - 12:23 #6
Ja, man skal lige kende server.mappath() - den har også selv drillet mig (-:
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