AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Spezielle Message, wenn Taskmanager Programm beendet
Thema durchsuchen
Ansicht
Themen-Optionen

Spezielle Message, wenn Taskmanager Programm beendet

Ein Thema von Ines · begonnen am 20. Okt 2010 · letzter Beitrag vom 22. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#1

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 10:36
Schreib doch die ProzessID mit in die Ini-Datei. Wenn das Programm neu gestartet wird, ist die ProzessID anders und...
Die Process-ID wird von VMS am Server generiert - ich als "kleiner" PC-Nutzer erfahre sie nicht. Außerdem haben PC-Nutzer nicht das Recht am VMS-Server einen laufenden Prozess zu "killen"! Was ist dann mit den anderen Anwendungen, die noch fehlerfrei am PC laufen?

Was sind denn das für Abfragen die so extrem lange dauern sollen?
Über wieviel Datensätze reden wir die aufgelistet werden bei einer Abfrage?
Z.B. 160.000 Blobs nach mehreren Stichwörtern durchsuchen und während der Bearbeitung feststellen, daß man sich vertippt hat - die Suche muß nochmals durchgeführt werden.

Ober 350.000 Patienteneinträge sortiert ausgeben lassen - von Aaaaa bis Zzzzz ! Da dauert die Sortierung schon ewig....

Ca. 1.000.000 Leistungssätze nach einem Wert abfragen, der in keinem Index enthalten ist...
Ines
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#2

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 11:21
Ober 350.000 Patienteneinträge sortiert ausgeben lassen - von Aaaaa bis Zzzzz ! Da dauert die Sortierung schon ewig....

Ca. 1.000.000 Leistungssätze nach einem Wert abfragen, der in keinem Index enthalten ist...

Hm warum kein Index gesetzt? Keinen Zugriff darauf?
Wie lässt du die Patienteneinträge Sortieren?
Steven
  Mit Zitat antworten Zitat
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#3

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 11:38
Hm warum kein Index gesetzt? Keinen Zugriff darauf?
Wie lässt du die Patienteneinträge Sortieren?
Ein Index ist nicht sinnvoll bei Einträgen, die zu oft vorkommen. Beispiel: Es gibt bei den Leistungssätzen ein Statusfeld mit den Werten :
angemeldet, terminiert, durchgeführt, befundet (numerisch verschlüsselt).
Da die meisten Leistungssätze den Status befundet haben wäre die Datenbank bei einer Änderung des Status mit sich selbst beschäftigt: Von durchgeführt => befundet: Platz für den neuen Indexeintrag schaffen (eventuell neue Pages anlegen, Daten ggf. umspeichern, dann den neuen Indexeintrag ablegen). Beim Optimieren unserer DB (mit Hilfe eines Spezialisten von Oracle) haben wir solche Bottlenecks entfernt.

Die Patienteneinträge sortiere ich mit "order by" im SQL-Kommando.

Ines
Ines
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 11:56
Hm, dann die Abfrag vielleicht in einem seperaten Thread laufen lassen, so das sich das Programm nicht aufhängt bei einer längeren Abfrage? Und ggf. einen Abbrech Button, der dann die Verbindung schließt?
Steven
  Mit Zitat antworten Zitat
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#5

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 12:09
Hallo Steven,

Hm, dann die Abfrag vielleicht in einem seperaten Thread laufen lassen, so das sich das Programm nicht aufhängt bei einer längeren Abfrage? Und ggf. einen Abbrech Button, der dann die Verbindung schließt?
Das muß ich erst ausprobieren. Mit Threads habe ich fast keine Erfahrung. Allerdings ist mir noch nicht klar was passiert, wenn das Programm am PC (wie auch immer) abgebrochen wird. Der Thread ist ja dann auch Geschichte. Und die Datenbankabfrage läuft munter weiter...

Allerdings werde ich es testen.

Ines
Ines
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 12:22
Naja, keiner wird dein programm über den Taskmanager beenden, da es nicht eingefroren ist, daher könnte man dann im OnClose Ereignis einfach die DB Verbindung schließen lassen, falls Sie offen ist.

Korrigiert mich falls ich falsch liege, aber auf den ersten Blick wäre das für mich der einfachste und komfortabelste Weg für dich und den Kunden.
Steven
  Mit Zitat antworten Zitat
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#7

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 12:39
Korrigiert mich falls ich falsch liege, aber auf den ersten Blick wäre das für mich der einfachste und komfortabelste Weg für dich und den Kunden.
Ich weiß nicht - muß erst noch testen.

Ines
Ines
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#8

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 13:54
einen Abbrech Button, der dann die Verbindung schließt?
Umgeht dieses Problem, denke ich.

Edit: Dabei fällt mir ein kann man auch im OnClose Ereignis schauen ob noch ein Thread aktive ist und ggf. "killen" und DB Verbindung schließen?
Steven

Geändert von youuu (21. Okt 2010 um 14:03 Uhr)
  Mit Zitat antworten Zitat
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 14:10
Bin mir nicht sicher, ob sich eine DB-Verbindung einfach so abbrechen läßt, während noch auf eine Antwort gewartet wird.

Selbst der Abbrech-Button wird erst dann wirken, wenn die Antwort der DB da ist.
Alles Vermutung, müsste man mal testen.
Kommt wahrscheinlich auch auf das eingesetzte DBMS und die verwendeten Delphi-Komponenten an.
  Mit Zitat antworten Zitat
Ines

Registriert seit: 22. Aug 2006
Ort: Augsburg
96 Beiträge
 
Delphi 2009 Enterprise
 
#10

AW: Spezielle Message, wenn Taskmanager Programm beendet

  Alt 21. Okt 2010, 14:41
Das sehe ich anders! Mag durchaus sein, dass beim Einfügen oder Ändern eines Datensatzes die DB länger mit sich selbst beschäftig ist, aber der Vorteil, das Anfragen schneller beantwortet werden (wegen dem definierten Index), überwiegt IMHO den Nachteil.

160.000 Blobs nach mehreren Stichworten zu durchsuchen halte ich nicht für sinnvoll. Besser wäre es evtl. den Inhalt der Blobs mittels Schlagworten in eigenen Tabellen zu indizieren und in diesen Tabellen nach den Stichworten zu suchen.
1. Es werden mehr Datensätze abgeändert als durchsucht - deshalb nützt mir hier ein Index nichts. Aber ich verwende Indices. Wir haben keine DB-Tabelle ohne Index.
2. In diesen Blogs befinden sich Befunde. Bei jedem Befund müßte der Arzt ein oder mehrere Schlagworte vergeben - da bekommt der Begriff Schlagwort eine neue Bedeutung für mich. Vor Jahren haben wir versucht, eine Struktur mittels Diagnoseschlüssel einzubauen - gescheitert !!

Zitat:
Bin mir nicht sicher, ob sich eine DB-Verbindung einfach so abbrechen läßt, während noch auf eine Antwort gewartet wird.
Stimmt, erst nach dem 1. gefundenen Satz ist die DB wieder "dialogbereit".
Dann kann ich z.B. die Verarbeitung abbrechen, die Verbindung trennen usw.
Aber solange die DB arbeitet komme ich PC-seitig nicht weiter (nur am Server selbst kann ich den Prozess abschießen).

Ines
Ines
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz