Thomas2903 Geschrieben 6. Oktober 2010 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 7. Oktober 2010 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 7. Oktober 2010 Teilen 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.