Microsoft states: OleDB out - enjoy ODBC!
For our native connection to any DB, we developed a set of classes and several units.
Now, Microsoft is officially deprecating OleDB, and urge all developers to switch to the open and cross-platform ODBC API for native connection.
It is worth reading the official announcement from Microsoft:
Microsoft is Aligning with ODBC for Native Relational Data Access
We encourage you to adopt ODBC in the development of your new and future versions of your application. You don’t need to change your existing applications using OLE DB, as they will continue to be supported on Denali throughout its lifecycle. While this gives you a large window of opportunity for changing your applications before the deprecation goes into effect, you may want to consider migrating those applications to ODBC as a part of your future roadmap.
They created OLE DB to make a "pure Windows" concurrent of ODBC.
We were told that OLE DB was much better than ODBC, by Micro$oft evangelists.
Now they are going back to ODBC because Cross-Platform is now mandatory. This is all marketing and money here. This won't be the first abandoned technology from Microsoft (or any other company).
Open source is another world, even if money is still within, you can always fork a dead project to continue supporting it.
In fact, OleDB was mostly about using MS SQL under Windows.
Oracle provider is buggy - no cry for me...
ODBC support is to be added in our SynDB classes.
This will be necessary for (Linux and) Mac OS support of DBs other than Oracle or SQLite3.
Edit / update on 10th of August:
ODBC is now officially supported within mORMot's DB layer.
The new SynDBODBC.pas unit works as expected, and allow use of a lot of free providers (including MySQL / FireBird / whatever...).
Feedback is welcome!
Feel free to discuss about it in our forum.