AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi FDConnection automatsch disconnecten bei Ausführung
Thema durchsuchen
Ansicht
Themen-Optionen

FDConnection automatsch disconnecten bei Ausführung

Ein Thema von fisipjm · begonnen am 2. Aug 2023 · letzter Beitrag vom 3. Aug 2023
Antwort Antwort
fisipjm

Registriert seit: 28. Okt 2013
251 Beiträge
 
#1

FDConnection automatsch disconnecten bei Ausführung

  Alt 2. Aug 2023, 09:16
Hi,

ich hab ein Thema, dass mich immer mal wieder in meinem Workflow hindert und wollte mal wissen, ob ihr vielleicht eine Idee habt, wie man das lösen kann

Ich habe in einem Projekt eine FDConnection und ein paar Querys auf eine SQLite Datenbank. So weit, so unspektakulär. Da ich öfter mal mit LiveBindings hantiere, führe ich die Querys öfter schon in der Entwurfsphase aus. Das führt dann natürlich dazu, dass die FDConnection aktiviert wird. Wenn aber die FDConnection verbunden ist, befindet sich die SQLite DB im exklusiven Zugriff. Das führt dann dazu, dass mir das Programm jedes Mal crasht, weil die DB bereits exklusiv geöffnet ist.
Frage, kann ich der IDE irgendwie mitgeben, dass sie die Connection der Verbindung trennen soll, wenn ich das Programm ausführe?

Danke schon mal

Gruß
PJM
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.039 Beiträge
 
Delphi 12 Athens
 
#2

AW: FDConnection automatsch disconnecten bei Ausführung

  Alt 2. Aug 2023, 11:49
Dafür gibt es bei der Connection das Property ConnectedStoredUsage

Für die Query wäre das analog ActiveStoredUsage
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.189 Beiträge
 
Delphi 12 Athens
 
#3

AW: FDConnection automatsch disconnecten bei Ausführung

  Alt 2. Aug 2023, 12:21
Das regelt doch nur, ob das Connected/Active in der DFM gespeichert wird.

Wenn beim Debuggen die Form geladen ist, dann bleibt es doch dennoch aktiv?



Bei anderen DBKomponenten nennt sich sowas z.B. gerne Connection.Options.DisconnectedMode (am Beispiel von Devart),
wo die Connection sich nur kurz beim Execute connected und sich anschließend sofort wieder disconnected.

Aber auf die Schnelle sehe ich hier sowas nicht.
https://docwiki.embarcadero.com/Libr...ion_Properties
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.039 Beiträge
 
Delphi 12 Athens
 
#4

AW: FDConnection automatsch disconnecten bei Ausführung

  Alt 2. Aug 2023, 13:26
Das regelt doch nur, ob das Connected/Active in der DFM gespeichert wird.
In der Tat - Frage falsch verstanden...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: FDConnection automatsch disconnecten bei Ausführung

  Alt 2. Aug 2023, 17:51
Wie wäre es, für die Entwicklung eine andere DB für den Entwurf zu verwenden?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: FDConnection automatsch disconnecten bei Ausführung

  Alt 2. Aug 2023, 21:03
Das Problem nervt mich auch bei SQLite.
Als Workaround setze ich eine ähnliche Lösung ein, wie von Union vorgeschlagen.
Da ich immer im Debugmodus entwickle habe ich das für mich über Compiler-Directiven gelöst und einer zweiten Datenbank.
Wenn du die "echte" Version kompilierst musst du halt umschalten auf Release, die FDConnection deaktivieren und "Alle Projekte erzeugen" ausführen.
Da ich das generell so handhabe passt dieser Workflow für mich bzw. habe ich mich an diesen Ablauf gewöhnt.

Delphi-Quellcode:
    DM.FDConnection1.Params.Clear;
    WITH DM.FDConnection1.Params DO
    BEGIN
      Add( 'DriverName=SQLITE' );
      Add( 'DriverID=SQLite' );
{$IFDEF DEBUG}
      Add( 'Database=' + ExtractFilePath( ParamStr( 0 ) ) + 'Kanban_Board_Debug.db' );
{$ELSE}
      Add( 'Database=' + ExtractFilePath( ParamStr( 0 ) ) + 'Kanban_Board.db' );
{$ENDIF}
    END;
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von juergen ( 2. Aug 2023 um 21:09 Uhr) Grund: Ergänzt, dass ich mich an diesen Ablauf gewöhnt habe
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 04:53 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