The universal "data line" cannot support all the functions of all suppliers / versions of databases; most programs are written by corporations by corporations to talk to their internal databases, so database independence is not required .
It is harder to code an API that is not suitable for the functions selected by your chosen database, since the documentation never matches the database you are trying to use.
Microsoft now expects the database provider to provide Ado.net data access support for the database, so data access tends to be different for each database - but most people don't care that the code only needs to work with one database provider data .
Third-party options exist, such as devArt dotConnect and DataDirect , which provides a universal βdata lineβ for .net, but at a price.
nHibernate will sit on top of most .net database access layers and hide most of the differences if you are happy to use ORM.
Ian ringrose
source share