2017-10-17 3 views
0

Ich habe für nur einige Jahre programmiert, und wir haben eine Standarddll, die für den Datenzugriff verwendet wird. Es scheint, dass in letzter Zeit einige Data-Mining- oder Site-Scraping-Vorgänge stattgefunden haben. Obwohl es keine Probleme mit unseren SQL-Datenbankverbindungen gibt, halten viele Programme, die auf as/400 zugreifen, Verbindungen für längere Zeit offen und inaktiv Zeit. Ich schaute durch unsere Standard-Datenzugriffsdll und fügte Code hinzu, um die Verbindung nach jeder Funktion zu schließen, aber das half nicht. Ich habe wenig Erfahrung mit db2/as/400 ... Wie schließe ich alle diese Open/Idle-Verbindungen aus dem Code?Programm, das Verbindungen zu db2400/as/400 nicht schließt

+0

Sie sollten 'using' immer verwenden, wenn Sie mit Datenbankverbindungen arbeiten. Dies gewährleistet die ordnungsgemäße Schließung von Verbindungen und die Entsorgung von Objekten. Siehe https://stackoverflow.com/questions/5243398/will-a-using-block-close-a-database-connection – VDWWD

+0

Wir benutzen 'using', aber ich lese, dass könnte tatsächlich ein Teil des Problems sein, wenn es darum geht as/400 - ist das möglich? – deebs

Antwort

1

Wenn Sie Verbindungspools verwenden, funktioniert das wie vorgesehen.

Sind Sie sicher, dass die Verbindung tatsächlich geöffnet ist? Wie bestimmen Sie das?

Wenn Sie nur Sperren sehen, die vom Job QZDASOINIT auf dem IBM i gehalten werden, dann ist das auch beabsichtigt. Das System schließt die Tabellen (Cursor) nach der ersten Verwendung. Bei einer erneuten Verwendung durch den gleichen Job wird das System sie nur pseudo schließen; um eine schnellere Antwort zu liefern, wenn sie wiederverwendet werden.

Wenn ein Vorgang versucht wird, der exklusiven Zugriff erfordert, schließt das System den Pseudo-Closed-Cursor.

+0

Ich glaube, wir verwenden Verbindungspools. Ich würde das gern als Test ablehnen - welche Auswirkungen hätte das? – deebs

+1

@deebs, nur eine Leistungseinbuße ... wie neue Verbindungen wiederholt geöffnet/geschlossen werden. – Charles

Verwandte Themen