Veröffentlicht 6. Oktober 201014 j 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
7. Oktober 201014 j 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
7. Oktober 201014 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.