AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi "Lost Connection during Query" oder "wie kann ich dieses View erstellen"
Thema durchsuchen
Ansicht
Themen-Optionen

"Lost Connection during Query" oder "wie kann ich dieses View erstellen"

Ein Thema von Captnemo · begonnen am 13. Apr 2016 · letzter Beitrag vom 14. Apr 2016
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#11

AW: "Lost Connection during Query" oder "wie kann ich dieses View erstellen"

  Alt 14. Apr 2016, 13:18
Das kann dann ein Problem werden, wenn du z.B. im Thread Komponenten nutzt die du auf dein Formular gelegt hast. Ich hatte bei MySQL Zugriffen auch schon Probleme damit, weiss nur nicht mehr ob das bei Zeos oder UniDAC war. Ich erstelle seither immer alle Ressourcen dafür im Thread selbst, und habe keine Probleme mehr gehabt.
Tatsächlich scheint das das eigentliche Problem gewesen zu sein.
Ich habe jetzt auch mal die Connection direkt im Thread erstellt, und seither ist der Fehler auch nicht mehr aufgetreten.

Allerdings habe ich die Connection im Konstruktor erzeugt.

Wichtig dabei ist: Im Konstruktor des Threads erstellte Dinge sind nicht im Threadkontext!! Daher quasi so:
Das ist mir allerdings neu. Ich habe alles bisher immer im Konstruktor erzeugt und nie Probleme gehabt (Was ja nichts heißt). Kann man das irgendwo nachlesen?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#12

AW: "Lost Connection during Query" oder "wie kann ich dieses View erstellen"

  Alt 14. Apr 2016, 13:51
Eine Anmerkung noch zum Union (keine Ahnung ob das hier oder im anderen Thread zur Sprache kam)
Ein Union (und natürlich erst Recht ein mehrfaches) baut implizit ein Group By bzw. Distinct in die Verarbeitung ein, um zu garantieren, dass es die redundanzfreie Vereinigungsmenge ist.
Auch wenn es nur 850 Sätze sind, kann das je nach Ausstattung und Abfragehäufigkeit unnötigen Streß (für den server) bedeuten.
Also
UNION ersetzen durch
UINION ALL

Das hängt ungeprüft und ungruppiert alles hintereinander. Macht auch und vor allem Sinn, wenn anhand des Datenmodells sicher gilt, dass eh keine Dubletten vorkommen können.
Gruß, Jo
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#13

AW: "Lost Connection during Query" oder "wie kann ich dieses View erstellen"

  Alt 14. Apr 2016, 15:02
Das ist mir allerdings neu. Ich habe alles bisher immer im Konstruktor erzeugt und nie Probleme gehabt (Was ja nichts heißt). Kann man das irgendwo nachlesen?
Ja, in den VCL Quellen. Unter Windows wird ein Thread mit einem Aufruf von MSDN-Library durchsuchenCreateThread() der WinAPI gestartet. Dies passiert im Konstruktor von TThread, und der Methodenzeiger, der dabei als Thread-Methode übergeben wird, ist eine Wrapper-Methode, die intern im Wesentlichen TThread.Execute aufruft. Der Konstruktor selbst ist dabei nicht Teil des Threads - der wird da ja erst erstellt. Sonst hätte man ja ein typisches Henne-Ei-Problem.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#14

AW: "Lost Connection during Query" oder "wie kann ich dieses View erstellen"

  Alt 14. Apr 2016, 22:13
Danke für den Hinweis. Dann werde ich das noch mal ändern. Sicherheitshalber.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz