Announcement

Collapse
No announcement yet.

Bleibt die temporäre Tabelle erhalten?

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

  • Bleibt die temporäre Tabelle erhalten?

    Hallo,
    mit dem SQL Server kann man bekanntlich (lokale oder globale) temporäre Tabellen erzeugen. Lt. Doku bleiben diese so lange erhalten, bis die Sitzung beendet wird (die letzte Sitzung bei globaler temp. Tabelle).

    Bei einem ADO .NET Client wird intern mit Connection-Pools gearbeitet. Es wird nicht permanent eine Verbindung gehalten. Wie kann ich gewährleisten, dass meine (lokale) temporäre Tabelle für die gesamte Laufzeit des Clients verfügbar bleibt?

    Danke
    Karsten

  • #2
    Hallo,

    wenn bei einer klassischen C/S-Anwendung die temp. Tabelle über einen längeren Zeitraum benötigt wird, darf die SqlConnection-Instanz in dieser Zeit nicht geschlossen werden. Der automatische Datenbankverbindungs-Pool (der über die Verbindungszeichenfolge auch abgeschaltet werden kann) greift erst dann, wenn die Close-Methode von SqlConnection aufgerufen wird.

    Es ist auch eine andere Technik denkbar. Der Client legt eine echte Tabelle mit einem sessionbezogenen Namen an. Wenn der SQL Server 2005 genutzt wird, kann gleichzeitig ein Auftrag für das automatische Abräumen der Tabelle erteilt werden (siehe die interne Stored Procedure, die beim Aktivieren der .NET Framework-Klasse SqlDependency automatisch generiert und in der Datenbank verbaut wird).

    Comment

    Working...
    X