Erweiterte Suche mit SQL und Addin

Beim
Erstellen einer neuen MDG-Technology kann es unter Umständen wichtig sein eine eigene „User-definde search“ zu erstellen.
Eine erweiterte Suche kann man nicht nur im Model sondern natürlich auch für Views benutzen.

Die „normale“ Suche bzw. der „Query Builder“ sind hierfür hervorragend geeignet. Jedoch gibt es immer wieder Anforderungen die man nur mit einer SQL Abfrage oder bei sehr komplexen Problemen mit einem eigenen Addin lösen kann.

Hierzu bietet Enterprise Architect in der Hilfe eine einfache Einführung.

So können SQL Abfragen, danke sogenannter Macros #xxx# auch für jede Datenbank angepasst werden wie z.B.:

  • MYSQL
  • JET
  • ORACLE
  • SQLSVR
  • ASA
  • OPENEDGE
  • POSTGRES.

Die wichtigsten Macros hierzu sind natürlich Wildcards: #WC# und #DB=<DBName># welches dem Ersteller der Suche erlaubt die Abfrage an die Verschiedenen „SQL-Syntax Dialekte“ anzupassen.

Für diejenigen die mit SQL an die Grenzen stoßen, gibt es natürlich auch noch die Möglichkeit eine Funktion eines Addin aufzurufen. Hierzu wird einfach der Name des Addins und der Funktion angegeben. Z.B.: MyAddin.RunThisMethod

Siehe hierzu folgende Links:

Such Funktionssignatur für Addins
Erstellen einer erweiterten Suche

Veröffentlicht unter Modell-Repositorium, Tips & Tricks
Schlagworte: , , , , , , , , ,
2 comments on “Erweiterte Suche mit SQL und Addin
  1. A. Schmied sagt:

    Meiner Erfahrung nach werden die Makros #WC# und #DB=…# in EA 8.0.864.08 nicht korrekt ausgewertet, wenn man sie von einem C#-AddIn aus via EA.Repository.SQLQuery nutzt. Können Sie das bestätigen?

    Es bleibt natürlich (für LIKE-Prädikate) der unschöne Workaround WHERE x LIKE ‚%…%‘ OR x LIKE ‚*…*‘.

  2. HKA sagt:

    Hallo ja, in der SQL Konsole und in der API werden SQL Abfragen direkt weiter gereicht. Wild Cards werden lediglich bei definierten SQL Suchen in der EA suche substituiert.