webForumDet fria alternativet

Problem med Session

6 svar · 358 visningar · startad av erka

erkaMedlem sedan dec. 19994 597 inlägg
#1

hejsan, jag håller på med ett forum i asp som jag fick av en kompis som har åkt till nweyork så jag kan inte få tag på honom och jag har detta problem..

Så här står det i en fil jag har fått av en kompis...

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Session("dbasepath")

Nu lyckas inte jag få det att funka om jag inte skriver så här på andra
raden.

Connection.Open ("driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\forum\data\forum.mdb")

Men hur blir det då med session, nu funkar det väll inte för flera användare...???..
vore tacksam för svar. Vad ska jag skriva, hur ska jag skriva sökvägen efter session ?? måste ju anropa drivrutinen oxå..

Drivrutinen som anropas är med i global.asa men hur skriver jag sökvägen rätt ??

Mycket tacksam för svar..

tohaMedlem sedan dec. 1999698 inlägg
#2

Jo det kan vara lite klurigt att sätta sig in i andras koder om det inte finns kommentarer eller någon systembeskrivning att ta till...

Din kompis har, av någon anledning, lagt connectionstring:en i en session-variabel och då kan man ju fråga sig varför. Om det inte är så att man öppnar olika databaser beroende på vem som är inloggad (eller nåt).

Jag föreslår att du försöker ta reda på din kompis' syfte med session-variabeln och fundera på om du verkligen behöver använda dig av den.

Om du bara skall öppna en databas så skall du absolut strunta i session-variabeln. Undvik att använda session-variabler i det hela.

------------------
/ Torbjörn Hansson

erkaMedlem sedan dec. 19994 597 inlägg
#3

Nu kommer inte jag att få tag på min kompis på cirka 1 månad och är i behov av att ha den fungerande snabbare än så.

Det är ett vanligt forum, med en databas och där man har 4:a poster i databasen som man kan skriva in till. Om jag inte har med session alls, hur blir det då om fler användare är inloggade samtidigt. Håller inte session i sär användare bland annat.

Tacksam för svar och tack för hjälpen hitills.

MVH.
Erka

tohaMedlem sedan dec. 1999698 inlägg
#4

Det är svårt att säga hur det blir eftersom jag inte vet hur det fungerar. Skulle bli mycket lättare om man fick se lite kod.

------------------
/ Torbjörn Hansson

erkaMedlem sedan dec. 19994 597 inlägg
#5

Sidorna anropar en databas som heter forum.mdb. Det är en databas med 2 tabbeller, en entries (hanterar alla inlägg som görs i forumet) den andra heter forums och innehåller alla forumen som ska finnas.

Global.asa används för att ange sökvägen till Accessdatabasen. Det används en fil-dsn istället för system-dsn för koppling mot databasen.

-----GLOBAL.ASA----------------
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Session("dbasepath") = "driver={Microsoft Access Driver (*.mdb)};dbq=c:\data\forum.mdb"
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnEnd
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnEnd
End Sub
</SCRIPT>
Vi anger att sökvägen till databasen ska lagras i en sessionsvariabel som heter Session(”dbasepath”).
----------------------------------
På de andra sidorna anropas hela tiden:
<%

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Session("dbasepath")

SQLStmt = "SELECT * FROM Forums"
Set RS = Connection.Execute(SQLStmt)

%>

Problemet är att jag anger rätt sökväg i global.asa och får det inte att fungera alls. Men det fungerar om jag gör det till. Connection.Open ("driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\forum\data\forum.mdb").

Tror det är samma sorts forum som finns på http://www.idg.se/mikrodatorn/webbmastern/md9809/ men där får man ju inte behövlig hjälp.
Mycket tacksam för svar.

Gott nytt år föresten!

tohaMedlem sedan dec. 1999698 inlägg
#6

Vad din kompis har gjort är att han anger en sesssion-variabel som anger sökvägen till databasen. Det finns ingen som helst anledning till att ange sökvägen där. Det bästa är att ta bort den variabeln och göra så som du skrev att du hade gjort - skiva sökvägen direkt på sidan:

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\data\forum.mdb"

SQLStmt = "SELECT * FROM Forums"
Set RS = Connection.Execute(SQLStmt)
%>

Och så var det med det... :)

------------------
/ Torbjörn Hansson

erkaMedlem sedan dec. 19994 597 inlägg
#7

Tack så mycket för hjälpen. Kör på den vägen..

Gott nytt år och en god fortsättning på året.

Genererad på 373 ms · cache AV · v20260730165559-full.f96bc7eb