I want my application to be able to work with multiple db vendors. In other words, depending on the DB infrastructure of the client, the db schema will be deployed on one of Oracle, MySQL, SQL Server. I am between using ODBC and OleDB, and the following key requirements that must be taken into account for the selection:
- the DB schema must be created from within the application (I was told that ODBC may be problematic in this case, is this true?)
-
it is strongly desirable that the end users are not required to install any additional software (i.e. Oracle Instant Client etc). So, the driver should be preferably either:
- already bundled with Windows. Does Windows have a generic version of ODBC / OleDB?
- be able to be bundled in a way with the application. I.E. in Java, I can bundle the JDBC driver for MySQL as a .jar file with my application. Can this be done by including a .dll file?
-
it is strongly desirable that the end users are not required to make any external configuration, such as creating ODBC datasources
Cheers!
Most ODBC/OLEDB drivers are using a “common language” which still requires some kind of native device driver or “client install” provided by the vendor to properly connect to the database.
What you want to look for is a proper ADO.NET driver, which will have all the required libraries built into it, or it may only require a second DLL to go with it that doesn’t not require a “client install”. This will also allow for easy use of the Connectin String in your app.config file and all the goodness that ADO.NET provides.
Here are some links to the common ones you need: