AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi View in Use - Auch wenn nicht mehr darauf zugegriffen wird

View in Use - Auch wenn nicht mehr darauf zugegriffen wird

Ein Thema von Emwykey · begonnen am 17. Jan 2018 · letzter Beitrag vom 24. Apr 2018
Antwort Antwort
Emwykey

Registriert seit: 27. Aug 2013
51 Beiträge
 
#1

View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 17. Jan 2018, 09:59
Datenbank: Firebird • Version: 2.5.4 • Zugriff über: FireDAC
Hallo liebe Community,

ich habe leider immer wieder folgendes Problem:

Es werden auf eine Auswahl abgestimmte Daten in einem View geladen - D.h. der selbe View wird bei jedem Aufruf eines Programmpunktes oder eines Reports mit den entsprechenden Bedingungen ReCreated um das Ergebnis auf die Auswahl zu beschränken. Das funktioniert auch meistens problemlos ( abgesehen von der Situation, wenn die selbe Auswertung geöffnet wird, sofern diese noch offen ist, das ist aber kein Problem ) - allerdings kommt es ab und an zu der Problematik, dass trotz geschlossener Auswertung und somit beendeter Abfrage der View nicht freigegeben wird und somit beim nächsten Aufruf nicht mehr mit den entsprechenden Bedingungen erstellt oder ReCreated werden kann ( tritt auch auf, wenn explizit ein Drop und daraufhin ein Create ausgeführt wird. ) Das ganze geht dann so weit, dass nicht einmal ein Neustart der gesamten Anwendung Abhilfe schafft, nur der Neustart des Firebird Servers selber gibt den View wieder frei.

Woran kann das liegen?
Gibt es hier Einstellungen im FB Server welche ich anpassen / prüfen sollte?
Kann ich in der Anwendung per SQL Anweisung eine Freigabe erzwingen ( beim schließen der Auswertung ) ?

Vielen lieben Dank schon mal im Voraus

PS: es gibt abgesehen von dem Problem und der Neuerstellung mit anderen Bedingungen keine Gemeinsamkeiten zwischen den einzelnen Views
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
2.963 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 17. Jan 2018, 10:21
Ungewöhnliches Konzept!
Ist das eine lokale DB?

Also mein Ansatz wäre, entsprechende Filter in einer Where Bedingung an den Aufruf des Views zu hängen. Warum das nicht so gemacht wird (standard) kann ich nicht beurteilen.

Hier hilft es vielleicht, spezifische Views pro User/Report anzulegen, eben in dem Grad, dass alle simulatanen Zugriffe auf eigene, temporäre Views gehen. Wegwerf Views halt. (Das macht man normalerweise mit Select Statements.)
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.197 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 17. Jan 2018, 10:33
D.h. der selbe View wird bei jedem Aufruf eines Programmpunktes oder eines Reports mit den entsprechenden Bedingungen ReCreated
Wie macht ihr das? Über Drop und Create?
Das scheint ein bekanntes Problem in FB zu sein:
http://tracker.firebirdsql.org/browse/CORE-2613
Im letzten Kommentar steht, dass es unter FB 2.5 zu Problemen kommt.
"Alter View" sollte demnach aber funktionieren.
Peter
  Mit Zitat antworten Zitat
Emwykey

Registriert seit: 27. Aug 2013
51 Beiträge
 
#4

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 17. Jan 2018, 11:45
Hallo danke erstmal für die Antworten.
Die Bedingungen werden im View selber untergebracht da zum teil Tabellen in der Auswertung verwendet haben welche so viele Daten enthalten, dass andernfalls die Performance extrem unter der Auswertung durch den View leidet. Views werden bereits je Benutzer und Auswertung angelegt.

Das mit dem ALTER VIEW versuche ich mal... danke für den Tipp


Es wird manchmal direkt der befehl ReCreate und manchmal getrennt Drop und Create verwendet, kommt aber auf das gleiche raus, der Fehler erscheint egal wie rum
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
2.963 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 17. Jan 2018, 12:41
Die Bedingungen werden im View selber untergebracht da zum teil Tabellen in der Auswertung verwendet haben welche so viele Daten enthalten, dass andernfalls die Performance extrem unter der Auswertung durch den View leidet. Views werden bereits je Benutzer und Auswertung angelegt.
Ok, dass ein View, der alle möglichen Kriterien nach außen liefert, langsamer sein kann, kann ich verstehen. Aber warum nimmt man dann nicht ein reines SQL Statement?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.197 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 17. Jan 2018, 12:54
Es wird manchmal direkt der befehl ReCreate und manchmal getrennt Drop und Create verwendet, kommt aber auf das gleiche raus, der Fehler erscheint egal wie rum
ReCreate macht nichts anderes als Drop und Create. Ein "alter view" macht dies nicht und erhält sogar die Rechte und Privilegien.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
524 Beiträge
 
FreePascal / Lazarus
 
#7

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 23. Jan 2018, 09:53
Die Lösung zur "Object In Use" Problematik (lernt man u.a. auch in unseren Bootcamps) und wie man das in IBExpert
Database registration Info einstellt: Siehe angehängtes Image
Geht auch bei einigen anderen Tools, da muss man halt suchen wo das evtl geht.
Es mus isc_tbp_wait in den Transaktionseinstellungen für die Metadaten eingestellt werden.

Das ist wichtig um parallel zu andere Connections Metadaten ändern zu können.
Das tritt in erster Linie bei FB25 Superclassic und classic auf, aber in selteneren Fällen
auch beim FB25 Superserver. Bei FB30 tritt das in allen Varianten relativ oft auf,
wenn man o.a. setting nicht anpasst. Viele Tools können das gar nicht anpassen, daher
falls ihr das nicht findet, einfach über den wechsel nachdenken
Miniaturansicht angehängter Grafiken
ibexpert_ta.png  
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Emwykey

Registriert seit: 27. Aug 2013
51 Beiträge
 
#8

AW: View in Use - Auch wenn nicht mehr darauf zugegriffen wird

  Alt 24. Apr 2018, 12:30
[QUOTE=Jasocul;1391189]
"Alter View" sollte demnach aber funktionieren.

Auch wenn es schon etwas her ist, aber mit CREATE OR ALTER scheint es keine Probleme mehr zu geben
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 22:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf