| |
ADO.NET / DatenbankenVerbindung 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 | |
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.
| |
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 | |
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.
| |
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
| |
Re: Verbindung zur Datenbank - Verständnisfrage | | | Autor: FZelle (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. | |
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.
| |
Re: Verbindung zur Datenbank - Verständnisfrage | | | Autor: FZelle (Moderator) | Datum: 11.09.15 08:53 |
| Und wozu meinst du soetwas überhaupt zu brauchen? | |
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ß | |
| 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 |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
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
|
|