Avatar billede mjiw Nybegynder
22. august 2003 - 01:26 Der er 5 kommentarer og
1 løsning

1asp-program skal vedligeholde mange ens access-mdb

Hver bruger får sin egen kopi af access-databasen i sin egen mappe...

asp-programmet ønske lagt i sin egen mappe og skal være fælles for ALLE brugere ...

Kan man det ?

Hvis jeg til hver brugers mappe med mdb-filen opretter en undermappe med asp-programmet og så kalder programmet med den fulde sti - så virker det fint, MEN det kræver at asp-programmet også skal kopieres lige så mange gange, som der er brugere !
Men så giver det en masse bøvl, når programmet skal udbygges med nye ting og det ligger i en masse kopier !
DERFOR ønskes KUN 1 udgave af asp-programmet for ALLE brugere !
Hvordan ???
Avatar billede mm12010 Nybegynder
22. august 2003 - 08:16 #1
userDB = Request.QueryString("user")

conn = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" + Server.MapPath(userDB & "/database.mdb")
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath)

så skal asp-filen ligge i samme mappe som alle mapperne med db'er, og du skal sørge for at userDB hele tiden indeholder er gyldigt brugernavn
Avatar billede mjiw Nybegynder
22. august 2003 - 12:15 #2
Tak for svaret... men betyder dit forslag netop ikke, at jeg skal kopiere asp-filen lige så mange gange, som der er brugere ("asp-filen ligge i samme mappe som alle mapperne med db'er,")!

For det ønsker jeg ikke !
(men kan selvfølgelig blive nødt til det, hvis det ikke kan lade sig gøre anderledes)

Det gør ikke noget, at jeg skal kopiere mdb'erne til hver bruger, fordi de skal have mulighed for at downloade en "backup" med deres egne data - derfor.
Avatar billede mm12010 Nybegynder
22. august 2003 - 13:12 #3
hvis du gør som ovenfor

ex:
domæne.dk/aspfil.asp?user=mm12010

hentes databasen fra mappen mm12010/database.mdb

conn = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" + Server.MapPath("mm12010/database.mdb")
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath)

brugernavnet skal med i url'en(kan også løses på andre måder f.eks. med sessions) og så bliver databasen hentet fra mappen med samme brugernavn
Avatar billede mjiw Nybegynder
22. august 2003 - 16:39 #4
SÅ LYKKEDES DET !
det er bare "perfekt" !!!

jeg skulle lige ha' tilpasset 10 asp-filer og rette småfejl -
før der var succes !

da brugernavnet kan aflæses i url'en, så bliver jeg nødt til at lave kryptiske brugernavne for at beskytte brugernes personlige data -
kan sessions løse dette ? (skal jeg evt. oprette det som nyt spørgsmål ? eller kan jeg blot helde flere point oveni)

send mig iøvrigt et svar - så du kan få dine point...
Avatar billede mm12010 Nybegynder
22. august 2003 - 17:03 #5
det kan vi sagtens ordne her :o)

når brugeren logger ind sætte de bare en session:

if login = "OK" then 'eller hvordan du nu vil tjecke det
  session("user")="mm12010" 'altså brugernavnet
end if

og så skal db-forbindelsen se sådan ud:

conn = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" + Server.MapPath(session("user") & "/database.mdb")
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath)
Avatar billede mjiw Nybegynder
22. august 2003 - 17:11 #6
jamen, det ser jo forfriskende nemt ud !
jeg skal nemlig lave en login-adgang, hvor jeg kan tildele den der sessions-dims - herligt...

endnu engang tak for løsningerne !
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