Too many client tasks

Too many client tasks Too many client tasks

Inserito il 22/06/2004 - letto 4523 volte

Messaggio di errore in Inglese

Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'
[Microsoft][ODBC Microsoft Access Driver] Too many client tasks.
/folder/page-name.asp, line 10

Messaggio di errore in Italiano

Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'
[Microsoft][Driver ODBC Microsoft Access] Troppe attività di tipo client.
/cartella/nome-pagina.asp, line 10

Da cosa dipende e come risolvere il problema...

I database Access è nato come desktop database , non come database web oriented, e non offre dunque 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 da 30 a 40 contemporanee, e non è quindi in grado di accoglierne ulteriori fino a quando non se ne liberano di inutilizzate.

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.

Esempio

nomeconnessione.Close

E' inoltre importante distruggere gli oggetti per liberare risorse sul server, con l'istruzione di assegnamento a Nothing.

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.