Hallo,
du könntest
Views benutzen.
Create View_1 as
SELECT col1, col2 FROM tab
Per $IFDEF steh dann
Delphi-Quellcode:
{$IFDEF SQL_SERVER}
t.TableDirect := False;
t.TableName := 'View_1';
{$ELSE}
t.TableDirect := True;
t.TableName := 'SELECT col1, col2 FROM tab';
{$ENDIF}
Nicht schön, geht aber
Weil das so blöd aussieht,
würde ich das eher so machen
Einmalig
Delphi-Quellcode:
{$IFDEF SQL_SERVER}
const C_TableDirect = False;
{$ELSE}
const C_TableDirect = True;
{$ENDIF}
"Tabellen"-Namen
Delphi-Quellcode:
{$IFDEF SQL_SERVER}
const C_ViewX = 'View_1';
{$ELSE}
const C_ViewX = 'SELECT col1, col2 FROM tab';
{$ENDIF}
Und im Code sieht es dann so aus.
Delphi-Quellcode:
t.TableDirect := C_TableDirect;
t.TableName := C_ViewX;
Du musst per Grep nur alle TableDirect-Zeilen suchen
und entsprechend anpassen.
Dass der
SQL-Server andere
SQL-Statements hat,
ist mir auch klar. Aber es wäre ein Anfang.
Die Korrektheit der Statements kannst du nur durch Testen
(idealerweise
Unit-Test) prüfen.
Dadurch, dass du eh jede Stelle ändern musst,
kannst du es dann auch gleich nach dem Ändern testen.
Heiko