Avatar billede hcichosz Praktikant
03. marts 2004 - 17:05 Der er 15 kommentarer og
2 løsninger

Rette tilgang til database

Hej
Jeng har denne tilgang til min database
<%
idnummer = TRIM(Request.QueryString("id"))
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb")
strSQL = "Select * From Kalender Where ID =" & TRIM(Request.QueryString("id"))
set rs = Conn.execute(strSQL)


men den skal jeg gerne have rettet for de stien til min database er en anden skal bruge denne sti

d:/web/cichosz.dk/database/databasenavn.mdb

hvorda gør jeg det, har ikke kunne få det til at virke
mvh HC
Avatar billede neteffect Nybegynder
03. marts 2004 - 17:08 #1
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/web/cichosz.dk/database/databasenavn.mdb"
Avatar billede nute Nybegynder
03. marts 2004 - 17:20 #2
du ændrer blot denne:

Server.MapPath ("database.mdb")

til der hvor databasen ligger relativt i forhold til den folder din aspside ligger i.

hvis databasen ligger i en subfolder der hedder 'db', så skriver du blot:

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

hvis din database ligger i en anden folder (kaldet 'db') på samme niveau som dit script, så skriver du:

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

man skal ikke angive stinavn med forward slashes, men med backslashes

/nute
Avatar billede hcichosz Praktikant
03. marts 2004 - 17:36 #3
er det sådan det skal se ud
<%
idnummer = TRIM(Request.QueryString("id"))
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/web/cichosz.dk/database/databasenavn.mdb"
strSQL = "Select * From Kalender Where ID =" & TRIM(Request.QueryString("id"))
set rs = Conn.execute(strSQL)


det er forde der på mit web sted er lavet om så dan at alle datadaser ligger udenfor web mapperne
Avatar billede nute Nybegynder
03. marts 2004 - 17:41 #4
hcichosz >> i hvilken folder ligger dit script ??

og som jeg skrev i mit forrige indlæg: "man skal ikke angive stinavn med forward slashes, men med backslashes" ... med andre ord, så skal din sti se sådan ud: d:\web\cichosz.dk\database\databasenavn.mdb

men det er meget smartere at bruge SErver.MapPath, for så slipper du for at skulle holde styr på hvor databasen ligger. Det eneste du skal angive, er hvor den ligger i  forhold til dit script (med relativ sti-angivelse)

/nute
Avatar billede hcichosz Praktikant
03. marts 2004 - 17:58 #5
scriptet ligger i en christina/kalender/kalender.asp
men d:/web/cichosz.dk/database/databasenavn.mdb har jeg fået af min udbyder
mit web sted er bygget sådan op nu at www mappen og database mappen ligger sammen
Avatar billede hcichosz Praktikant
03. marts 2004 - 18:02 #6
det her er hvad jeg har fra dem

Hvilken connection type skal jeg bruge til at åbne adgang til Access databasen?

Når du skal åbne adgang til en Access database, skal du bruge en ADO database connection.
Den kan opstilles som følgende:

<%
dim conn

function OpenConn( DBPath )

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPath

end function

OpenConn("d:/web/cichosz.dk/database/databasenavn.mdb")
%>


Benytter du JavaScript som standard-sprog i ASP´en kan flg. connection bruges:

<%
Conn = Server.CreateObject("ADODB.Connection");
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("xxx.mdb"));
%>
Avatar billede nute Nybegynder
03. marts 2004 - 18:05 #7
dette bør fungere:

OpenConn( Server.MapPath( "database/databasenavn.mdb") )

men hvad mener du med 'ligger sammen' ? er 'database' folderen en subfolder til 'christina/kalender' folderen ? hvad er den fulde sti til 'christina/kalender' folderen ?

/nute
Avatar billede hcichosz Praktikant
03. marts 2004 - 18:55 #8
Nej database folder ligger udenfor web stedet så dan at man ikke via http kan komme til den
Avatar billede hcichosz Praktikant
03. marts 2004 - 18:57 #9
sikker "database" mappe og en offentlig "www" mappe på webserveren.
Mappen "www" er dit home directory, det er altså denne mappe dine data skal placeres, og den mappe som brugeren får fat i ved at indtaste www.cichosz.dk i sin browser. Mappen "database" ligger udenfor dit home directory og du kan derfor placere de databaser og data du ikke ønsker at brugere skal kunne downloade gennem browseren.
Avatar billede nute Nybegynder
03. marts 2004 - 18:59 #10
det er ikke det jeg mener. du siger din sti til din database er:

d:/web/cichosz.dk/database/databasenavn.mdb

hvad er den tilsvarende sti til din fil ?

d:/web/cichosz.dk/christina/kalender/kalender.asp

???

folderene ligger jo på samme server, men hvordan er de placeret i forhold til hinanden ??
Avatar billede KingMedia Novice
03. marts 2004 - 20:59 #11
nute  >>>  Med Server.MapPath metoden er du uafhængig af folderenes placering i forhold til hinanden ;o)

hvis din database ligger i mappen http://www.domain.dk/database/database.mdb

så UANSET hvor du benytter scriptet, kan du bruge følgende MapPath til at tilgå.

Server.MapPath("/database/database.mdb")

Mange bruger MapPath metoden helt forkert ( ved f.eks at sætte "../bla/bla" )

MapPath går til Roden af dit site (wwwroot) og hierakisk opefter.. 


Men tilbage til hcichosz's spørgsmål.
i hans tilfælde vil man ikke kunne bruge MapPath metoden, da (langt de fleste) webhoteller kun lader MapPath gå til din www folder.

derfor skal der bruges en fysisk adresse.

--------

hcichosz >>  sån her skal din forbindelse se ud.

<%

<%
idnummer = TRIM(Request.QueryString("id"))
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="d:/web/cichosz.dk/database/databasenavn.mdb"
strSQL = "Select * From Kalender Where ID =" & TRIM(Request.QueryString("id"))
set rs = Conn.execute(strSQL)

%>

/Mads
Avatar billede nute Nybegynder
03. marts 2004 - 21:30 #12
kingmedia >> I stand corrected ... det har du jo selvfølgelig ret i

så tillader jeg mig at korrigere dig lidt :

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="d:/web/cichosz.dk/database/databasenavn.mdb"

skal vel strengt taget være:

Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:/web/cichosz.dk/database/databasenavn.mdb"

;o]
Avatar billede KingMedia Novice
03. marts 2004 - 22:10 #13
Det' så sandt som det er skrevet ;o)
Avatar billede hcichosz Praktikant
04. marts 2004 - 07:58 #14
Hej ja det er den rigtige det virker
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:/web/cichosz.dk/database/databasenavn.mdb"
men nu får jeg så et nyt problem i admin delen når jeg vil opdater min kalender kommer den med en fejl i det her
    rs.AddNew
      rs("Arrangement") = Request.form("Arrangement")
      rs("Beskrivelse") = Request.form("ArrBeskrivelse")
      rs("Dag") = Request.form("dag")
      rs("Moned") = Request.form("Moned")
      rs("Aar") = Request.form("Aar")
      rs.Update

det er rs.Update den ikke vil med til
mvh HC
Avatar billede hcichosz Praktikant
04. marts 2004 - 16:37 #15
Når men jeg kan vel heller ikke forlange mere for 60 point smid svar og jeg fordeler pointene
mvh HC
Avatar billede nute Nybegynder
04. marts 2004 - 16:42 #16
jeg kender desværre ikke 'AddNew' og 'Update' metoderne godt nok til at kommentere dem. jeg laver alle mine inserts, updates og deletes via SQL.

jeg står af, med hensyn til points. jeg synes ikke jeg har gjort andet end at forvirre :o]

/nute
Avatar billede neteffect Nybegynder
04. marts 2004 - 16:50 #17
svar
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