Avatar billede hasph Nybegynder
22. juli 2008 - 14:30 Der er 5 kommentarer

ASP, wwwroot og databaseadgang

Hej Alle,
Jeg har lavet et simpelt webinterface til en access database, hvor jeg har mulighed for at hente,redigere og gemme ændringer, og foretage forskellige sorteringer.
Hvis jeg placerer databasen i samme bibliotek som mine asp-sider virker det upåklageligt.
Så langt så godt.

Udfordringen består i at den database jeg skal tilgå ligger højere end wwwroot i mit mappehireaki og jeg kan derfor ikke linke til den i min asp kode som eks. her:

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("database.mdb")

Som sagt hvis jeg kopiere filen ned i samme bibliotek som asp koden foregår linkningen som ovenfor og virker glimrende.
Jeg kan desværre ikke permenent flytte databasen til den lokale mappe, da den bliver brugt af andre applikationer med henvisning til dens oprindelige placering.
Jeg har forsøgt at lave en midlertidig løsning med to batchjobs, som hhv. opdatere eller gendanner databasen, ved at overskrive den "gamle" med den "nye" og vica versa.
Desværre kan brugere af mit interface ikke afhvikle batchjobs af sikkerhedshensyn, derudover er det heller ikke så simpelt og effektivt som at skrive/læse direkte i den originale.

Håber der er nogen der har erfaringer inden for dette felt.

På forhånd tak for hjælpen til alle,

hasph
Avatar billede cpufan Juniormester
23. juli 2008 - 11:19 #1
du angiver den absolutte sti istedet for:

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("database.mdb")

skal være

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\minmappe\mindb.mdb"
Avatar billede cpufan Juniormester
23. juli 2008 - 11:20 #2
der skal være skriverettigheder for "everyone" eller "iusr_machinename" for at du kan gemme data i db'en.
Avatar billede hasph Nybegynder
23. juli 2008 - 13:37 #3
hej cpufan,
Tak for dit svar!

Hvis jeg ændrer

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("database.mdb")

til

sConnString="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\minmappe\mindb.mdb"

(Selvfølgelig med den rigtige sti)

får jeg følgende fejlmeddelse:
"C:\minmappe\mindb.mdb"...is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

Er det noget der umiddelbart siger dig noget i forbindelse med fejlfinding?

På forhånd tak,

hasph
Avatar billede mini-me Nybegynder
05. august 2008 - 23:00 #4
Hvad menes der med højere?

Du kan vel sagtens bruger server.mappath, hvilket også er en fordel hvis du flytter fra eks. c: drev til d: drev


eks.:

med udgangspunkt i at dit website ligger her: c:\inetpub\wwwroot\

server.MapPath("/database.mdb") = "c:\inetpub\wwwroot\database.mdb"
server.MapPath("/../database.mdb") = "c:\inetpub\database.mdb"
server.MapPath("/../../database.mdb") = "c:\database.mdb"


server.MapPath("/db/database.mdb") = "c:\inetpub\wwwroot\db\database.mdb"
Avatar billede cpufan Juniormester
05. august 2008 - 23:11 #5
"C:\minmappe\mindb.mdb"...is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

lyder som om at den ikke kan finde den sti du angiver, formodentlig en stavefejl.
eller også har du glemt en mappe - eller lignende - metoden er korrekt i hvert tilfælde.
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