Errore Too many client tasks - Errori ASP
Descrizione
Un numero eccessivo di connessioni, rispetto a quelle disponibili, tentano di accedere ad un database Access.Errore Too many client tasks
Il database Microsoft Access è nato come desktop database, non come database web oriented, pertanto non offre le stesse funzionalità e soprattutto le stesse performance dei database prettamente rivolti all'interazione con linguaggi lato server, come ASP e PHP.
Questo non significa che Access sia da buttare, tutt'altro, svolge egregiamente il suo compito per siti di media e piccola dimensione, ma richiede una cura ed una attenzione decisamente maggiore rispetto ad alcuni suoi fratelli maggiori come MySQL e MS SQL Server.
L'errore sopra riportato segnala che Access ha raggiunto il limite delle connessioni contemporanee al database da parte degli script, che si aggirano a seconda della versione del driver da 20 a 40 contemporanee, e non è quindi in grado di accoglierne ulteriori fino a quando non se ne liberano di inutilizzate.
Come risolvere il problema
L'errore sopra citato non sempre è legato al database ma molto più spesso ad un codice mal scritto e poco ottimizzato.
La prima cosa da controllare è la chiusura di tutte le connessioni e la liberazione delle risorse non appena non più necessarie, usando l'istruzione .Close.
Ad esempio, se nomeconnessione è la connessione attiva, è possibile chiuderla con nomeconnessione.Close.
E' inoltre importante distruggere gli oggetti per liberare risorse sul server, con l'istruzione di assegnamento a Nothing, ad esempio Set nomeconnessione = Nothing .
Queste semplici regole possono aiutarci a scongiurare l'errore e a sviluppare un codice più fluido, veloce e leggero.
A tal proposito è fondamentale ricordarsi di aprire la connessione al database solo se e quando necessaria, per mantenerla aperta il minor tempo possibile.
Infine, fate buon uso delle funzioni che ASP mette a disposizione per salvare in cache i valori chiudendo il prima possibile le connessioni e sfruttate le potenzialità degli array.
Vedrete che anche Access può risultare sufficientemente flessibile.

