error connection

19/11/2008 - 13:53 von Andreas | Report spam
Hallo Zusammen,

ich bekomme in meiner VB-Anwendung (in Verbindung mit einer MySQL-Datenbank)
ganz selten folgende Fehlermeldung:

error connection: Timeout expired. The timeout period elapsed prior to
obtaining a connection from the pool. This may have occurred because all
pooled connections were in use and max pool size was reached.

Ich konnte leider noch keine Regelmàßigkeit des Fehlers finden. Ich weiß
momentan leider noch nicht, wann der Fehler unter welchen Bedienungen und bei
welchen Aktionen auftaucht. Soviel ich von der Meldung verstehe, versucht das
Programm eine Verbindung zur Datenbank herzustellen, bekomt aber einen
Timeout.

Mit was könnte das zu tun haben? Viell. auch mit der Performance des PC´s?

Gruß & Vielen Dank
Andreas
 

Lesen sie die antworten

#1 Elmar Boye
19/11/2008 - 15:09 | Warnen spam
Hallo Andreas,

Andreas schrieb:
ich bekomme in meiner VB-Anwendung (in Verbindung mit einer MySQL-Datenbank)
ganz selten folgende Fehlermeldung:

error connection: Timeout expired. The timeout period elapsed prior to
obtaining a connection from the pool. This may have occurred because all
pooled connections were in use and max pool size was reached.

Ich konnte leider noch keine Regelmàßigkeit des Fehlers finden. Ich weiß
momentan leider noch nicht, wann der Fehler unter welchen Bedienungen und bei
welchen Aktionen auftaucht. Soviel ich von der Meldung verstehe, versucht das
Programm eine Verbindung zur Datenbank herzustellen, bekomt aber einen
Timeout.



Überprüfe Dein Programm darauf ob Du alle Verbindungen nach Gebrauch schliesst.

Der Fehler tritt üblicherweise auf, wenn ein Programm die Verbindungen nicht
mehr freigibt (via MySqlConnection.Close/Dispose).
Seltener wenn ein Programm mehr Verbindungen benötigt, als die Einstellung
für den Connection Pool erlaubt, wobei "Max Pool Size" per 100 vorgibt.
Mehr siehe:
<URL:http://dev.mysql.com/doc/refman/5.0...string>

Vermeidbar ist der Fehler am ehesten, wenn Du Dir angewöhnst die Verbindungen
in einen using Block zu kapseln und so direkt nach Verwendung freigibst, ala

Using connection As New MySqlConnection(...)
connection.Open()

' Arbeit tun ...
End Using

Gruß Elmar

Ähnliche fragen