ich würde hier auch für IBDAC mit Firebird plädieren. Ist aus meiner Sicht und in vielen Kundenprojekten die beste Wahl.
noch eine Anmerkung:
Als kleiner Softwareanbieter kannst du dich aufhängen, wenn deine Software auf zig Plattformen läuft, weil du dann wahlweise von allen Plattformen nur das benutzen kannst, was alle können und damit nirgendwo wirklich performant sein wirst oder alternativ für jede Plattform das ganze Datenbankdesign noch mal machen kannst.
Diese Pseudo Multi Database Layer im Client sorgen meistens dafür, das du Probleme lösen musst, von denen man keine Ahnung hat. Indexstrukturen, Datentypen, Funktionen des Optimierers und generelle
SQL Kompatibilität solltest du nicht ignorieren. Ob du da die Macken von 10 unterschiedlichen Plattformen kennenlernen willst oder dich auf eine Plattform konzentrierst, bei der du zumindest die wichtigsten Dinge kennst, macht für kleine Softwarehäuser eine riesengroßen Unterschied. Oracle oder MS
SQL Spezi wird man nicht durch 2 Minuten im Internet surfen.
Das kann aber noch viel gefährlicher werden ....
Wenn dir dann ein ein Mitarbeiter des Kunden auf dem Oracle Server einen Materialized View mit On Commit erstellt und in der nächsten Nacht bei Datenabgleich deiner Software der komplette Datenbankserver lahm liegt, der Kunde dich panisch morgens um 7 anruft, weil das komplette Unternehmen mit hunderten Mitarbeitern still steht und deine Software eindeutig auf Basis der Logs dafür verantortlich ist, dann würdest du dich freuen, nichts mit derem zentralen Datenbanksystem gemacht zu haben.
Der Kunde selbst schwört Stein und Bein, nichts verändert zu haben und der sogenannte Oracle
DB Admin hat leider auch keine Ahnung, was das Problem ist und schon gar nicht, was Materialized Views sind und warum die mit on Commit Probleme machen könnten, weil das bei seinem VHS Kurs leider nicht dran war. Man glaubt gar nicht, was für Flachpfeifen da teilweise sehr verantwortungsvolle Positionen bekleiden, weil ja unter den Blinden der Einäugige König ist.
Wenn der Kunde dir dann auf mehrfache Anforderung das Oracle Fehler Protokoll sendet, weil du an der Software seit Monaten nichts mehr geändert hast, dir also keine schuld bewusst bist, dir dann auf den ersten Blick die Fehlermeldungen zum Materialized View auffallen sollten, dann hast du Glück gehabt, das du den Kunde noch mal auf den Pott setzen kannst und ihm zufällig doch einfällt, das er da was an einem View verändert hat.
Alternativ kannst du auch wegen eventueller Schadensersatzforderungen deine Laden gleich zusperren und Hartz4 beantragen.
Die Story ist nicht ausgedacht, sondern real so passiert bei einem französischen Konzern mit deutschen Filialen, für den wir eine Software erstellt haben. Da tanzten schon der erste Manager mit französischem Akzent in Dreieck und wurde ganz still, als der wirklich schuldige im eigenen Haus saß.
Fazit: Mehrere Plattformen zu unterstützen ist nicht immer nur ein Vorteil, sondern manchmal auch brandgefährlich, wenn nicht wirklich auf jeder Plattform 100% fit ist. Für kleine Softwarehersteller ist es unmöglich, auf jeder Datenbankplattform 100% fit zu ein, daher sollte man immer die angeblichen Vorteile im Marketing (multiplattformfähig ...) gegen die Gefahren abwiegen. Multiplattform ist nicht per se besser als single plattform .....