Announcement

Collapse
No announcement yet.

Datenbankanwendung in C#, Verbindung bestehen lassen ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankanwendung in C#, Verbindung bestehen lassen ?

    Hallo liebes Forum...

    Macht es sinn in einer Anwendung welche regelmäßig mit der Datenbank kommuniziert die Verbindung dauerthaft aufrechtzuhalten oder sollte man aufgrund von fehlerentstehung lieber vor jedem Zugriff die Datenbankverbindung neu aufbauen...

    Geschrieben wird in C#, ADO.NET wird verwendet und als Datenbank wird mit einer Oracle 10g XE gearbeitet...

    Liebe Grüße, Nicholas!

  • #2
    Die meisten Zugriffstechniken (OLEDB etc.) unterstützen Connectionpooling heißt wenn du eine Verbindung schließt wird die erstmal in den Pool zurückgelegt (und wenn man so will nicht wirklich sofort geschlossen) und stehen beim nächsten öffnen sofort zur Verfügung (wenn denn eine Connection im Pool frei ist).
    Eine Connection offen zu halten hilft also in den meißten Fällen nicht (wenn man an Performance denkt). Ich würde mir immer dynamisch eine Connection zur DB holen wenn ich sie brauche und das Connection Objekt danach wieder in die fürsorglichen Hände des GC's übergeben wenn ich sie nicht mehr brauche.

    Comment


    • #3
      Hallo,

      eine Verbindung sollte so kurz wie möglich öffen bleiben.

      Vermutlich meinst du dass es performanter ist die Verbindung nur 1x zu öffnen und diese dann wieder zu verwenden.

      Bei ADO.net werden die Verbindungen in einem Verbindung-Pool gehalten und wenn du eine Verbindung öffnest wird eine Verbindung vom Pool genommen und nach dem Schließen dort wieder zurückgesteckt. Somit ist dies die zu bevorzugenden Variante.

      Nähere Infos bietet der Artiekl SQL Server-Verbindungspooling (ADO.NET)

      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        Alles klar.. Danke :-)

        Comment

        Working...
        X