Hallo
@Hoika,
das war eine Verwaltung für sagen wir mal Umsatzbeteiligungen (war schon etwas kompilizierter gibt aber die Aufgabe ganz gut wieder).
Die
SQL's habe ich bei Bedarf geladen, im Programm gab's eine
Query zum Laden der
SQL's (das einzige "festverdrahtete"
SQL im Programm).
Eine zweite
Query war für alle Abfragen zuständig und eine dritte für die Datenmanipulation. Das lag alles auf einem Datenmodul. So konnte ich die Übernahme in die Stringgrids bzw. die Ausgabe als
CSV,
XML und für die Reports von "überall" her machen. Einfach sagen: Bitte gib mir das Ergebnis von
SQL 47 (oder so), Daten abholen und anzeigen/ausgeben oder halt ein
SQL anfordern, die
Query wurde dann mit dem
SQL versehen, vom Programm die Parameter befüllt und dann dem Datenmodul sagen. Schieb das mal in die Datenbank. Die Fehlerbehandlung lief im Datenmodul ab, so dass der Aufwand bei Progammänderungen (in Bezug auf die Datenbank) sehr gering war.
SQL's in Datenbanktabelle ändern, im Programm ggfls. die Übergabe der Parameter anpassen, wenn halt was dazu kam oder wegfiel.
Das Programm ist ohne Änderungen am Programm selbst von dBase über Interbase nach Oracle und dann zum
SQL-Server gewandert. Die übrigen Datenbanken könnte man genausogut "abfackeln". Da die Software mandantenfähig war, konnten die einzelnen Mandanten auch unterschiedliche Datenbanken nutzen, sie bekamen halt "ihre Datenbank" mit der entsprechend gefüllten Tabelle für
SQL-Statements und konnten loslegen. Da hies aber auch, ein Benutzer des Programmes arbeitete mit "seinem" Client bei den unterschiedlichen Mandanten gegen unterschiedliche Datenbanken, er bekam nicht mit, welcher Datenbankserver da mit ihm zusammenarbeitete oder ob bei dBase die Tabellen lokal lagen. Gut, war ein kleines Programm mit wenigen Nutzern, so das die Mandantenfähigkeit und die Fähigkeit, gegen verschiedenen Datenbanken zu arbeiten, nie wirklich ausgereizt wurde.
@toschmaster
D. h.: Die Hauptarbeit liegt bei den Datenbänkern. Kann Deine bisherige Datenbankschnittstelle mit dem
SQL-Server umgehen oder musst Du Komponenten austauschen. Wie sind die Unterschiede zwischen den Packageaufrufen von Oracle und
SQL-Server? Da dürfte ja dann ggfls. der für Dich größte Aufwand liegen (oder im Idealfall gar kein Aufwand).