Newsgroup: it.comp.www.asp
Titolo: Statistiche web

Salve a tutti,
    devo realizzare un software in grado di registrare tutti gli accessi ad
un sito con l'indirizzo di provenienza del visitatore, il tutto in un db
access. Come posso realizzarlo in asp?
Grazie
-- 
Posted from 
ciscra.ciscra.bcc.it
 [194.184.81.2] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 il tutto in un db access.
...dove glielo vuoi mettere il log? Oh Zeus!
Contento tu... povero access che regge solo 10 connessioni per volta e poi
ritorna l'errore piu' bello del mondo "too many users".
Consiglio: onde evitare di ottenere file.mdb ingestibili perche' pesanti
molte decine di mega, ti consigglio di:
1) Tenere traccia degli spostamenti dell'utente mediante variabili di
sessione e cookies
2) Nel global.asa, nella "sub session_onEnd" scarica il contenuto delle
variabili di sessione in un file di testo cui darai come nome l'ID della
sessione unito a gg.mm.aaaa.hh.min.sec*rnd... insomma un codice che abbia
pochissime possibilita' di ripetersi entro poco tempo (100 anni, giu' per
su).
3) Per conoscere i dati del client devi usare le serverVariables
dell'oggetto response, vedi su aspitalia o sulla library di msdn:
www.aspitalia.com
 
msdn.microsoft.com/library
, rispettivamente.
4) Quando chiudi la sessione ricordati di memorizzare i dati dell'utente
relativi all'id sia in un cookie sia nel DB access insieme al percorso del
file.txt su cui hai salvato tutti gli altri dati.
5) Quando la sessione riparte cerca sul browser la presenza del cookie, se
c'e' non dargli un nuovo ID ma dagli quello corrispondente quello datogli la
volta precedente e poi quando chiuderai nuovamente la sessione appendi i
dati al file.txt
6) in teoria potresti anche non salvare su File.txt ma in tante righe di
access con il medesimo codice di identificazione, ma ti avverto: il DB
diventera' molto pesante anche con pochi accessi, in compenso bastano 10
persone che accedono nello stesso momento e puo' succedere che qualcuno non
riesca ad entrare, o piu' probabilmente che rimangano molte sessioni aperte
e che poi qualcuna non riesca ad ottenere l'accesso al DB per salvare i dati
perche'... "too many users!".
Per il resto...
per realizzare questo programma devi conoscere bene:
1) L'oggetto response
2) ADO
3) File Scripting Object
Ultimo ma non ultimo: cosi' hai raccolto i dati, ma se vuoi interpretarli
bene... fai molta attenzione a cosa scrivi nei file.txt!!
Nettuno

ritorna l'errore piu' bello del mondo "too many users".
prova sperimentale con quindici utenti che smanettavano sulla stessa
tabella e sugli stessi record: nessun problema.
--
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport

 tabella e sugli stessi record: nessun problema.
Bello, hai ottimizzato gli accessi in modo da minimizzarli?
Nettuno

Bello, hai ottimizzato gli accessi in modo da minimizzarli?
no, non ho ottimizzato niente.  volevo solo vedere quanto "reggeva"
access, ovvero mandarlo in crisi.  non ci sono riuscito per mancanza
di utenti.  che poi non sia il db più adatto per fare certe cose non
lo metto in dubbio, ma insomma, disprezzarlo troppo mi pare sia un po'
da snob, che dici?
soprattutto quando ci si rivolge a dei probabili newbie che di tutto
hanno bisogno meno che di credere che debbono mettere le mani su sql
server o oracle perché sono "meglio" di access.


 server o oracle perché sono "meglio" di access.
Assolutamente: solo preferisco mettere subito in chiaro che e' un sistema
limitato e che se si vuole evitare di metterlo in crisi bisogna progettare
l'applicazione che lo sfruttera' in modo da limitare il piu' possibile
l'accesso diretto alla base di dati.
D'altro canto, a volte e' meglio che appaia "l'errore piu' bello del mondo"
piuttosto che qualcosa di peggio ^____^.
Cosi: se devi fare una chat con ASP diventa pressoche' impossibile evitare
l'accesso continuo al DB, viceversa se devi semplicemente tenere traccia
degli accessi ad un sito puoi servirti biecamente degli altri sistemi di
registrazione.
Tra l'altro pensa anche a quest'altra soluzione:
utilizzi sempre il FSO avendo l'accortezza di utilizzare delle regole ben
precise mentre scrivi il file log, regole che possano accordarsi con quelle
usate da Access quando importa un DB su file di testo.
Ci guadagnerai in velocita', come minimo.
Ciao
Nettuno