Thomas2903 Geschrieben 6. Oktober 2010 Geschrieben 6. Oktober 2010 hallo! wie lange bleibt ein datenbank cursor "offen" bzw besteht ein solcher? wenn ich in java eine JDBC mache, muß ich meine resultSets immer explizit schließen? (result.close() oder werden diese automatisch geschlossen, wenn das objekt zerstört wird? bzw automatisch nach dem ende des blocks nicht mehr existiert bzw wenns keine referenz mehr darauf gibt? ich danke für eure hilfe. lg
dr.dimitri Geschrieben 7. Oktober 2010 Geschrieben 7. Oktober 2010 Du solltest ein ResultSet dann schließen, wenn Du es nicht mehr brauchst. Damit gibst Du die Resourcen frei und musst Dir keine Gedanken mehr darüber machen. Dim
perdian Geschrieben 7. Oktober 2010 Geschrieben 7. Oktober 2010 wenn ich in java eine JDBC mache, muß ich meine resultSets immer explizit schließen? (result.close()Kurz und knapp: Ja! werden diese automatisch geschlossen, wenn das objekt zerstört wird?Das hängt von der JDBC Treiberimplementierung ab. Es gibt Implementierungen, die versuchen im finalize Block Ressourcen zu schließen, andere (z.B. Oracle) tun dies nicht. Dazu kommt aber das Problem, dass von der VM nicht sichergestellt wird, dass finalizer überhaupt aufgerufen werden! Das bedeutet um sicher zu gehen, dass die Ressourcen korrekt geschlossen werden muss du dies manuell tun.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden