AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DIMOWA® SQL Resource Creator
Thema durchsuchen
Ansicht
Themen-Optionen

DIMOWA® SQL Resource Creator

Ein Thema von haentschman · begonnen am 22. Sep 2016 · letzter Beitrag vom 20. Dez 2021
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: DIMOWA® SQL Resource Creator

  Alt 21. Feb 2017, 18:14
Hallo,
wir bauen unsere Queries je nach Anforderungen dynamisch zusammen.
Statische SQL-Anweisungen haben wir nicht ...
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#2

AW: DIMOWA® SQL Resource Creator

  Alt 21. Feb 2017, 18:45
Zitat:
wir bauen unsere Queries je nach Anforderungen dynamisch zusammen.
...das finde ich Hardcore. Wie testet man sowas? Ich meine nicht "select * from Universe" sondern komplexe Statements oder Scripte?
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

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

AW: DIMOWA® SQL Resource Creator

  Alt 21. Feb 2017, 18:55
Hallo,

ich oute mich mal. Ich habe den Ansatz dieses Programms (noch) nicht verstanden.

Ich nutze z.B. simple externe Textfiles für SQL Statements, für jede Query ein Textfile. Dazu gibt es 2 Programme: Das erste ist das Parametrierungsprogramm wo man das DBMS auswählt, die DB, die Zugangsdaten und das SQL Statement erstellt. Das SQL kann direkt ausgeführt und getestet werden. Heraus kommt von diesem 1. Programm ein verschlüsseltes Textfile mit den genannten Daten.
Das 2. Programm ist das eigentliche Kundenprogramm. Das liest die entsprechenden Textfiles ein und führt die Statements aus.
Der große Vorteil dieser Version: Ich kann ohne Delphi das SQL Statement auf Zuruf direkt beim Kunden anpassen.

So wie ich es verstehe bindet dein Programm die SQL_Statements in die Resource-Datei ein.
Was hat das für einen Vorteil gegenüber meinem Ansatz mit den Textfiles?

Sorry, für mein sicherlich nicht vorhandenes Wissen...
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)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#4

AW: DIMOWA® SQL Resource Creator

  Alt 22. Feb 2017, 06:02
Moin...
Zitat:
Was hat das für einen Vorteil gegenüber meinem Ansatz mit den Textfiles?
Im Prinzip machen wir es gleich. Extern sind die SQL testbar und können auch vom Datenbankentwickler ggf. geändert werden. Das ist der entscheidende Punkt die Statements nicht im Quelltext zu lagern sondern im Versionskontrollsystem. Wie man dann die SQL weiterverarbeitet kommt auf den Einsatzzweck an. Ich habe mich für die Ressource entschieden.
Zitat:
So wie ich es verstehe bindet dein Programm die SQL_Statements in die Resource-Datei ein.
Die kompletten Statements für alle Datenbanken sind in der Ressource enthalten. Über einen Einzeiler werden die SQL Statements geladen und dann zur Query zugordnet. Aus der Ressource wird nur das Statement für das entsprechende DBMS geladen. In der Regel wird der Quelltext nicht geändert.
Zitat:
Heraus kommt von diesem 1. Programm ein verschlüsseltes Textfile mit den genannten Daten.
Ist ja quasi mit der Ressource "identisch", nur das das File nicht mit einkompiliert wird.
Zitat:
Das erste ist das Parametrierungsprogramm wo man das DBMS auswählt
Hier haben wir die Unterschiede. Ich habe mich für die Speicherung des DBMS in der INI entschieden. Im Programm werden die Einstellungen gelesen und ein Interface erzeugt. Das Interface kennt die Ressource und lädt das entsprechende SQL.
Zitat:
Was hat das für einen Vorteil gegenüber meinem Ansatz
Über den Editor muß ich mich nicht darum kümmern wo das eigentliche Statement filetechnisch abgelegt wird. Dem Projekt werden die Ordner "vorgegeben" und z.b. mit "EINFÜGEN" wird das entsprechende SQL mit dem NAMEN automatisch in dem Ordner erzeugt. Ich muß mich nicht mehr um das Dateisystem kümmern (wo speichere ich was). Wenn verschiedene DBMS im Einsatz sind wird das Statement auf alle DBMS kopiert (echte Datei). Beim "KOPIEREN" wird auch der Inhalt in die anderen DBMS kopiert. (weniger Schreibarbeit ) Das SQL trägt selbst den Status damit im Team gesehen werden kann ob das SQL "fertig" ist bzw. überhaupt ein SQL im entsprechenden DBMS vorhanden ist. (zu jedem SQL Namen existiert pro DBMS ein SQL) Hier kann man sich kontrollieren. Über den Editor hat man auch die Syntax besser im Blick.
Zitat:
das SQL Statement auf Zuruf direkt beim Kunden anpassen.
...wie oft kommt sowas vor?

Fazit:
Du hast dich für Textfiles entschieden. Andere bauen sich die Statements dynamisch zusammen.
Wir ging es darum die "select * from universe" im Datenmodul oder in Form1 Fraktion zu "bekehren" bzw. eine andere Variante aufzuzeigen. In diese Kategorie fällst du leider nicht.

Die Idee kam bei meinem letzten Arbeitgeber. Da existierten mehrere Datenmodule pro DBMS. Wenn man mal eine Änderung hatte, Feld in der Datenbank z.B., mußte man alle Statements in den Datenmodulen mitführen...und keines vergessen. Der Kontrollaufwand war furchtbar. Da mußte was passieren. Die externe Speicherung und die Ressource erschien uns ideal.

Geändert von haentschman (22. Feb 2017 um 06:13 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: DIMOWA® SQL Resource Creator

  Alt 22. Feb 2017, 06:10
Hallo,
Zitat:
Wie testet man sowas?
Hm, durch testen?

Ich weiss ja nicht, wie Deine Formulare aussehen,
bei uns gibt es immer sehr viele Optionen.
Statistiken sind z.B. nie starre Queries.

Alles andere als die Queries dynamisch zusammenzubauen geht gar nicht.

PS:
Die Abfragen sind nicht im Formular, sondern werden über Service-Klassen erzeugt.
PS2:
Zitat:
das SQL Statement auf Zuruf direkt beim Kunden anpassen.
Bei uns nie, da würde unser Support freidrehen.
Heiko

Geändert von hoika (27. Feb 2017 um 23:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#6

AW: DIMOWA® SQL Resource Creator

  Alt 22. Feb 2017, 06:29
Moin...
Zitat:
Wie testet man sowas?
Zitat:
bei uns gibt es immer sehr viele Optionen. Statistiken sind z.B. nie starre Queries.
Ich habe dich wahrscheinlich falsch verstanden. Ich ging von einem "Generator" aus. Ich habe auch Queries die quasi aus Bausteinen zusammengesetzt werden. (siehe Bild) Deine Variante setzt wahrscheinlich doch einen drauf.
Zitat:
Die Abfragen sind nicht im Formular, sondern werden über Service-Klassen erzeugt.
...das mit dem Formular geht mal gar nicht. Ählich wie du auch, benutze ich pro DBMS ein Interface. Da gibt es haufenweise Varianten wie man es aufbaut.

Zitat:
Wir ging es darum die "select * from universe" im Datenmodul oder in Form1 Fraktion zu "bekehren" bzw. eine andere Variante aufzuzeigen.
...und davon gibt es auch bei Profis genug. Meistens bei gewachsenen Projekten aus den RAD Anfängen.
Miniaturansicht angehängter Grafiken
baustein.png  

Geändert von haentschman (22. Feb 2017 um 06:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.811 Beiträge
 
Delphi 12 Athens
 
#7

AW: DIMOWA® SQL Resource Creator

  Alt 22. Feb 2017, 09:16
Meine Datenbank läuft auf einem Unix-Server und wird über einen WebService bereitgestellt, der nicht mit Delphi implementiert wurde. Leider hat Dein Tool für mich keinen Nutzen. Früher mal, da hatte ich Datenmodule mit dutzenden DataSets und Querys...vielleicht wäre es da nützlich für mich gewesen. Aber das ist alles Schnee von gestern. Sorry.

Dennoch interessante Arbeit!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#8

AW: DIMOWA® SQL Resource Creator

  Alt 22. Feb 2017, 09:37
Zitat:
Dennoch interessante Arbeit!
...Dankeschön.

Per PN habe ich einige Fragen bekommen. Wenn ich die Genehmigung zur Veröffentlichung habe stelle ich sie rein.

Fragen:
Zitat:
Anlegen eines Projektes möglich, auch wenn noch keine Datenbank definiert ist. Gespeichert werden können die Eingaben aber ohne DB nicht.
...das soll so sein. Das Projekt ist nicht vollständig. Eine Meldung könnte man integrieren. (Todo)
Zitat:
Grundsätzlich: Eingaben können nicht gespeichert werden, wenn nocht etwas fehlt. Das ist gut. Aber es erfolgt kein Hinweis, was noch nicht stimmt.
Eine Meldung könnte man integrieren. (Todo)
Zitat:
Mir persönlich kommen zu viele Rückfragen "...noch nicht gespeichert...". Müsste man evtl. abschalten können und dann immer Speichern.
...das beißt sich mit dem Wunsch nach "Aber es erfolgt kein Hinweis". Das mit dem immer Speichern finde ich bedenklich. Aus dem täglichen Arbeiten, wenn ich Änderungen zurücknehmen möchte oder das SQL wechsle, ist es mir lieber das ich gefragt werde was ich tun will. Mit automatischem Speichern ist schnell mal eine Änderung, die ich nicht möchte, gespeichert.
Zitat:
Es fehlt mir eine Schaltfläche "OK" (Save+Close)
...wo habe ich was übersehen?
Zitat:
wenn ein Eintrag auf der SQL-Ebene fokusiert ist, kann ich keinen neuen SQL-Eintrag unter der gleichen Order-Ebene anlegen "(+) SQL hinzufügen". Warum nicht? So muss ich immer den Ordner anklicken und dort einfügen.
...ja, da ja beliebig viele Ordner dem Projekt zugeordnet werden können. Wie definierst du den Ablageort? Der einzige Platz ist der "Root" Ordner des Pfades. Das Gleiche gilt auch für die Shortcuts im Baum. Man könnte die Funktion auf den Teilbaum "beschränken".
Zitat:
Mir fehlen die Shortcuts für viele Funktionen in der Baumansicht wie "INS-SQL einfügen" oder "DEL-SQL löschen"
...ja, da ja beliebig viele Ordner dem Projekt zugeordnet werden können. Wie definierst du den Ablageort? Man könnte die Shortcuts auf den Teilbaum "beschränken".
Zitat:
Doppelter SQL-Name wird nicht akzeptiert (kein Hinweis warum nicht s.o.).
Die Ressource kann mit doppelten Namen nicht umgehen. Das ist per Design so. Eine Meldung könnte man integrieren. (Todo) ...aber es weiß man ja.
Zitat:
Wir haben verschiedenen Bereichen ähnliche Abfragen für z.B. Auswahllisten.
ich habe also unter Projekte für jeden Bereich einen Ordner angelegt.
Nun möchte ich für jeden Bereich die Abfragen für Auswahllisten gleich benennen, sagen wir "LookupDataset".
Das geht aber nicht, weil die SQL-Namen gleich Resourcennamen sind.
Hier wäre für mich eine autoamtische Kombination aus Ordner- und SQL-Name als Resourcenname besser geeignet.
Den Teil verstehe ich nicht. Bitte mache mal ein Beispiel.

Geändert von haentschman (22. Feb 2017 um 10:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#9

AW: DIMOWA® SQL Resource Creator

  Alt 24. Feb 2017, 18:52
24.02.2017 - Update
* siehe ersten Post
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#10

AW: DIMOWA® SQL Resource Creator

  Alt 12. Mai 2017, 14:48
12.05.2017 - Update
* siehe ersten Post

PS: Gib es überhaupt nix zu meckern? Oder benutzt es keiner?
  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 18:42 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