vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Verbindung zur Datenbank - Verständnisfrage 
Autor: GuckInDieLuft
Datum: 09.09.15 17:11

Hallo an alle,

ich habe mal eine Verständnisfrage:

Unter VB6 habe ich am Anfang eines Programms (z.B. Auftragserfassung) die Verbindung zur Datenbank (SQL-Server) geöffnet und am Ende des Programms wieder geschlossen. Für die gesamte Dauer der Erfassung eines Auftrags ist die Verbindung offen.

Unter VB.NET heißt es, dass man die Verbindung immer gleich wieder schließen soll (connection.open und connection.close), z.B. nach dem Lesen der Kundennummer und der Artikelnummer usf.

Das Probblem dabei ist, dass ich Daten in eine temporäre SQL-Tabelle schreibe (CREATE TABLE ##TMP_Auftrag...), und diese temporäre Tabelle wird gelöscht, wenn ich die Verbindung schließe. Durch die Angabe von '##' im Tabellennamen wird die Tabelle in der tempDB gespeichert.


Welche Vorgehensweise ist zu empfehlen?
Macht man die Verbindung auf und wieder zu und speichert die temporäre SQL-Tabelle nicht in der tempDB, sondern in der regulären Datenbank?
Hat jemand einen Rat?


Mit freundlichen Grüßen
GuckInDieLuft
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: Manfred X
Datum: 09.09.15 17:32

Hallo!

Wofür benötigst Du eine temporäre Tabelle?
Die abgefragten Datensätze werden gewöhnlich während der Bearbeitung
im Hauptspeicher gehalten.


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: GuckInDieLuft
Datum: 09.09.15 17:55

Hallo,

da gibt es unterschiedliche Gründe: z.B. mehrstufige Stücklistenauflösung. Ein Artikel setzt sich aus einer Stückliste zusammen, die Stückliste kann wieder aus Unterstücklisten bestehen usf.. Eine Prozedur durchläuft nach der Eingabe der Artikelnummer diese Stufen und ermittelt alle benötigten Rohstoffe und die werden eben in einer temporären Tabelle gespeichert.

Aber das ist nur ein Beispiel. Mir geht es ums Prinzip. Ich habe immer mal wieder Programme, die temporäre Tabellen verwenden. Und die gehen verloren, wenn ich die Verbindung schließe.


Mit frundlichen Güßen
GuckInDieLuft
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: Manfred X
Datum: 09.09.15 18:36

Hallo!

Wenn Du durch eine Stored Procedure eine temporäre Tabelle in der DB anlegst und füllst,
mußt Du diese Tabelle in ein Dataset laden, ehe Du die Verbindung wieder schließt.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: GuckInDieLuft
Datum: 10.09.15 09:11

Hallo Manfred X,

vielen Dank für den Tipp.

Mit freundlichen Grüßen
GuckInDieLuft


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: ModeratorFZelle (Moderator)
Datum: 10.09.15 15:30

Eine Datenbank Verbindung sollte immer nur genau so lange bestehen wie eine zusammenhängende Aktion läuft.

In 99% der Fälle in denen Leute mit Temporären Tabellen arbeiten, war das vor 10 Jahren auch nötig. Meist jetzt nicht mehr.

Sollte es unumgänglich sein, muss eben die Verbindung so lange stehen wie die Tabelle benötigt wird.
Aber ich habe in den letzten Jahren nie gesehen das soetwas nötig wäre.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: GuckInDieLuft
Datum: 10.09.15 15:58

Hallo FZelle,

Der Hinweis ist git. Wenn ich die temporäre Tabelle in ein DataSet (oder DataTable) einlese brauche ich die Tabelle nicht mehr und kann die Verbindung schließen.

Vielen Dank.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: ModeratorFZelle (Moderator)
Datum: 11.09.15 08:53

Und wozu meinst du soetwas überhaupt zu brauchen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Verbindung zur Datenbank - Verständnisfrage 
Autor: GuckInDieLuft
Datum: 11.09.15 10:46

Hallo FZelle,

das habe ich schon mal geschrieben:
Da gibt es unterschiedliche Gründe: z.B. mehrstufige Stücklistenauflösung. Ein Artikel setzt sich aus einer Stückliste zusammen, die Stückliste kann wieder aus Unterstücklisten bestehen usf.. Eine Prozedur durchläuft nach der Eingabe der Artikelnummer diese Stufen und ermittelt alle benötigten Rohstoffe und die werden eben in einer temporären Tabelle gespeichert.


Gruß
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel