set personer=server.CreateObject("ADODB.Recordset") personer.open "SELECT * FROM online WHERE id=1", database, 2, 2
personer("server1") = kim personer.Update %> <% strSQL = "SELECT * FROM [online] where id=1" Set rs = database.Execute(strSQL) response.write("-"&rs("server1")) %>
Jeg kan ikke hitte ud af om du ønsker gøre det hele på een gang? Hvis du ønsker at opdatere databasen i din global.asa, så skal du lægge din kode ind i en Sub og kalde denne fra din Session_OnStart og/eller Session_OnEnd afhængig af hvad du ønsker. Bemærk at server.mappath i givet tilfælde ikke kan benyttes i Session_OnEnd --
ahh ok ser du Så skal du lave en fil "global.asa" som du lægger i din rod! med følgende indhold ---- <script language="VBScript" runat="server"> Sub Application_OnStart Application("BrugereOnline") = 0 End Sub
Sub Session_OnStart Application("BrugereOnline") = Application("BrugereOnline") + 1 Session.timeout = 1 End Sub
Sub Session_OnEnd Application("BrugereOnline") = Application("BrugereOnline") - 1 End Sub </script> --- Du kan ikke kalde de metoder andre steder fra, de ligger fast i global.asa Det de gør er at hver gang en bruger går ind på din side så tæller de en variabel op
På din asp side skal du så have det andet ---- <% Set database = Server.CreateObject ("ADODB.Connection") database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/db/brugere.mdb")
set personer=server.CreateObject("ADODB.Recordset") personer.open "SELECT * FROM online WHERE id=1", database, 2, 2
På alle dine asp sider vil du kunne benytte variablen Application("BrugereOnline") til at se hvor mange som er online Dog skal du vide at hvis din Session.Timeout er fx 20min ja så går der 20min fra en bruger lukker sin browser til dennes session dør, og derved står vedkommende som online i 20min
men meningen var fra starten at jeg skulle have et script der skulle vise antallet af besøgende på 4 domæner på en denne side http://test.stenhuset.dk/wm/index.asp
Du kan lave en global.asa til hvert domæne, men man kan kun have een global.asa i hver ---- <script language="VBScript" runat="server"> Sub Application_OnStart Application("BrugereOnline") = 0 End Sub
Sub Session_OnStart Application("BrugereOnline") = Application("BrugereOnline") + 1 Session.timeout = 1 opdaterDB() End Sub
Sub Session_OnEnd Application("BrugereOnline") = Application("BrugereOnline") - 1 opdaterDB() End Sub
Sub opdaterDB() Set database = Server.CreateObject ("ADODB.Connection") database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="direktesti\db\brugere.mdb")
set personer=server.CreateObject("ADODB.Recordset") personer.open "SELECT * FROM online WHERE id=1", database, 2, 2
personer("server1") = Application("BrugereOnline") personer.Update End Sub </script> --- Husk at du skal benytte den fulde sti til databasen! På din side kan du så hente antallet ud af databasen
Det er lidt tricky tror jeg som du ønsker For hvis du har fire servere til et domæne eller hvordan? For man kan kun have en global.asa pr domæne eller subdomæne Du kan tælle op i hver af de fire global.asa´er for hvert domæne for sig Men om du kan tilgå den samme database cross-domæne ved jeg ikke rigtig
men der skal også tjek på " jeg tror det var mig som glemte at slette den database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\db\brugere.mdb")
Script blocks must be one of the allowed Global.asa procedures. Script directives within <% ... %> are not allowed within the Global.asa file. The allowed procedure names are Application_OnStart, Application_OnEnd, Session_OnStart, or Session_OnEnd.
ja ja jeg hænger på :o) Det eneste jeg ikke forstår mig på det er om du har fire servere og fire domæner Og hvordan du fra en hovedside vil kunne læse fra deres databaser, eller for så vidt lave en fælles database til dem For mig bekendt er det ikke nemt at tilgå databaser på tværs af servere når det er access som ikke er en rigtig server ligesom mysql og mssql
okey, så tillader din åbenbart ikke procedurer Det gør min ellers hmm Men det kan i alt fald løses sådan her --- <script language="VBScript" runat="server"> Sub Application_OnStart Application("BrugereOnline") = 0 End Sub
nej det er sådan at online1.wwc2005.dk og online2.wwc2005.dk ligger på fysiske samme server men med 2 sites opsat i IIS og online3 og online4 ligger på samme fysiske server og igen opsat med 2 fysiske sites i IIS ...
ok så du har reelt fire domæner, derved skal du også benytte fire global.asa filer, en i hver rod i hvert domæne, for at tælle hver deres online brugere Jeg har ikke forstand på hvad man kan når man selv har sin egen server. Det er muligt du kan kommunikere imellem de to domæner som er på samme server? Men at kommunikere fire domæner imellem over samme access database, den er svær
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xa60 Thread 0x9dc DBC 0x1721024 Jet'.
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.