Avatar billede the-gnu.dk Nybegynder
27. januar 2002 - 20:40 Der er 8 kommentarer og
3 løsninger

DB Connect...

Jeg connecter til min database på følgende måde:

Set oConnection = Server.CreateObject("ADODB.Connection")
  oConnection.Open "DRIVER={Microsoft Access DRIVER (*.mdb)}; DBQ=" & server.mappath ("mail.mdb")

Dette virker, hvis mail.mdb ligger i samme mappe.

Men hvad nu hvis mail.mdb ligger en mappe tilbage?
Jeg prøver ("../mail.mdb"), men det virker ikke.

Nogen forslag?
Avatar billede mrbarnes Nybegynder
27. januar 2002 - 20:43 #1
Du kan ikke bevæge dig udenfor server.mappath, ved at rykke tilbage  med .., da server.mappath giver roden af dit site.
Avatar billede the-gnu.dk Nybegynder
27. januar 2002 - 20:45 #2
Hvad gør man så?
Avatar billede mrbarnes Nybegynder
27. januar 2002 - 20:48 #3
hvad skal du da? udenfor websitets begyndelse...

Eller hvad vil du have lavet...
Avatar billede the-gnu.dk Nybegynder
27. januar 2002 - 20:50 #4
Jep... Jeg skla bare fange den .mdb-fil som ligger i D:\mail\mail.mdb
Avatar billede mrbarnes Nybegynder
27. januar 2002 - 21:08 #5
hvorfor skriver du så ikke

Set oConnection = Server.CreateObject("ADODB.Connection")
  oConnection.Open "DRIVER={Microsoft Access DRIVER (*.mdb)}; DBQ=" &  ("d:\mail\mail.mdb")
Avatar billede sorenmhansen Nybegynder
27. januar 2002 - 21:29 #6
Her har du to funktioner som giver parentfolder. Så kan du selv vælge.

Function GetTheParent1(DriveSpec)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
  GetTheParent1 = fso.GetParentFolderName(Drivespec)
End Function

Function GetTheParent2(DriveSpec)
  GetTheParent2 = Left(DriveSpec,InStrRev(DriveSpec, "\")-1)
End Function

Response.Write(GetTheParent1(Server.MapPath("/")))
Response.Write("<br>")
Response.Write(GetTheParent2(Server.MapPath("/")))

mvh
-søren
Avatar billede the-gnu.dk Nybegynder
27. januar 2002 - 22:15 #7
mrbarnes  >  Virker ikke! :o(

SorenMHansen  >  Hvordan skal det hele så se ud?

Er overhovedet ikke hjemme i ASP!
Avatar billede coltau Juniormester
27. januar 2002 - 22:34 #8
Er det lokalt eller på en server. ?
Avatar billede madrich Nybegynder
28. januar 2002 - 05:30 #9
mrbarnes -->
1: server.mappath methoden giver dig stien til den folder, hvor scriptet der eksekveres ligger i
2: man kan godt benytte ("../") i Mappath metoden.

ex.

dit script ligger i - d:/inetpub/wwwroot/www/script/script.asp
din base i          - d:/inetpub/wwwroot/log/database.mdb

for at kalde databasen med server.mappath metoden skal man så skrive:

server.mappath("../../log/database.mdb")

Det kan dog være at din udbyder har "disabled parent path" egenskaben på din www folder, hvilket ville give en fjeler noget ala ".." is not allowed in the server.mappath  method, det er nok derfor at the-gnu mener at man ikke kan bruge ".." i server.mappath metoden : )

enten kan du tage en kamp med din udbyder (på iis 5.0 er parent path pr. def sat til disabled, på 4.0 er den pr default sat til "on") eller...

1:
Det bedste du kan gøre er at lave en DSN forbindelse til din database, så er der ikke så meget fjolleri med at skulle definere stier, og basen kan i princippet ligge hvor som helst på serberen. (det er ikke alle udbydere der gider opsætte DSN forbindelser)

2. lave en forbindelse som mrbarnes skriver, bortset fra at hans syntax er forkert, det er nok derfor hans eksempel ikke virker : )

mit skud ville være noget alá

Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.Open "DRIVER={Microsoft Access DRIVER (*.mdb)}; DBQ=d:\mail\mail.mdb"

håber det kunne hjælpe ?
Avatar billede sorenmhansen Nybegynder
28. januar 2002 - 10:09 #10
Det skal se således ud:

Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.Open "DRIVER={Microsoft Access DRIVER (*.mdb)}; DBQ=" & GetTheParent(server.mappath("/"))) & "\" & "mail.mdb"

mvh
-søren
Avatar billede the-gnu.dk Nybegynder
28. januar 2002 - 16:57 #11
Virker!
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