Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
1.911 Beiträge
 
Delphi 7 Professional
 
#16

AW: DB-Funktionen von MSSQL in Oracle nachbauen

  Alt 18. Mai 2020, 19:28
Frage:

In welcher Form liegen die alten SQLs vor?

Alle irgendwie einzeln?

In einer Textdatei und der Anwender sucht sie sich da raus?

Im Quelltext irgendeiner oder mehrere Anwendung(en)?

Bin in der Vergangenheit recht gut damit gefahren, die SQLs in 'ner Datenbanktabelle vorzuhalten.

Da kann man dann eine Spalte für die MSSQL-Syntax machen, eine Spalte für die Oracle-Syntax u.s.w. für alle zu unterstützende Datenbanken.

Jede Zeile der Tabelle hat 'ne eindeutige ID.

Die Software, die die SQLs braucht, kennt dann nur noch diese ID und weiß um welche Datenbank es sich handelt.

Soll also ein SQL ausgeführt werden, holt sie sich per ID und Info zur verwendenen Datenbank das passende SQL aus der Tabelle, versorgt es ggfls. mit Parametern, und führt es aus.

Oder man macht für jede Datenbank 'ne View, die dann nur die ID und die SQL-Spalte der entsprechenden Datenbank liefert. Dann muss die Software nur die ID wissen, gegen welches DBMS sie dann läuft, ist für die Software "wurscht". Sie sieht nur, was sie konkret benötigt.

Oder man macht je DBMS eine Tabelle und nutzt dann dort immer das datenbankspezifische Befüllscript.

Ist eigentlich recht pflegeleicht und wenn man das einmal in 'ner Anwendung drinne hat, muss die Anwendung bei Änderungen am SQL nicht jedesmal angepasst werden.

Wird 'ne weitere Datenbank unterstützt, bekommt die Tabelle 'ne weitere Spalte und die Software kann dann die SQLs dort herholen.

Die Pflege der Tabelle kann man dann jemandem anvertrauen, der sich in der SQL-Welt gut auskennt und weiß, wie man die einzelnen Datenbankspezialitäten am besten übersetzt bzw. wie man es hinbekommt, dass sich die SQLs zwischen den einzelnen Datenbanken nicht mehr so gravierend unterscheiden.

Im Idealfall ist das für die die SQLs nutzende Software absolut transparent.

Der erstmalige Aufbau eines derartigen Konzeptes kann schon ziemlich viel Arbeit sein, die sich aber in der Regel auch recht schnell amortisiert.
  Mit Zitat antworten Zitat