Ich habe ein vb.net Programm, welches jede Sekunde in einer Tabelle prüft, ob ein zu verarbeitender Datensatz hineingeschrieben wurde.
Dazu öffne ich alle 1 sec die DB connection und schliesse sie dann wieder.
Dies mache ich, da das Programm 12 am Stück laufen muss und eine zu Beginn geöffnete DB connection zwischendurch unterbrochen werden könnte.
Das Problem ist, dass dadurch immer mehr RAM belegt wird. (Zu Beginn 4MB, danach je ca. 0.1MB/min dazu. Dies wären in 12h ca 75MB für das, dass es nur ein Tabellenüberwacher ist.)
1. Variante zur Lösung:
- gibt es eine Möglichkeit, mit der ich prüfen kann, ob die DB connection noch steht? Dann müsste ich sie nur dann neu aufbauen, wenn sie unterbrochen wurde.
Ich importiere System.Data.SqlClient und öffne die DB mit
New SqlConnection(connector.ConnectionString)
2. Variante zur Lösung
- wie kann ich verhindern, dass immer mehr RAM belegt ist? bzw. zwischendurch wieder freigeben? garbage collection, habe ich gelesen, sei ungeeignet.
Dazu öffne ich alle 1 sec die DB connection und schliesse sie dann wieder.
Dies mache ich, da das Programm 12 am Stück laufen muss und eine zu Beginn geöffnete DB connection zwischendurch unterbrochen werden könnte.
Das Problem ist, dass dadurch immer mehr RAM belegt wird. (Zu Beginn 4MB, danach je ca. 0.1MB/min dazu. Dies wären in 12h ca 75MB für das, dass es nur ein Tabellenüberwacher ist.)
1. Variante zur Lösung:
- gibt es eine Möglichkeit, mit der ich prüfen kann, ob die DB connection noch steht? Dann müsste ich sie nur dann neu aufbauen, wenn sie unterbrochen wurde.
Ich importiere System.Data.SqlClient und öffne die DB mit
New SqlConnection(connector.ConnectionString)
2. Variante zur Lösung
- wie kann ich verhindern, dass immer mehr RAM belegt ist? bzw. zwischendurch wieder freigeben? garbage collection, habe ich gelesen, sei ungeeignet.