What is ODBC?
According to Microsoft, ODBC is a specification for a database API. This API is database and operating system agnostic due to the fact that the primary goal of the ODBC API is to be language-independent. Additionally, the open functions of the API are created by the manufactures of DBMS-specific drivers. Developers can use these exposed functions from within their own custom applications so that they can communicate with DBMS through the language-independent drivers.
ODBC Advantages
Multiple ODBC drivers for each DBSM
Example
Oracle’s ODBC Driver
Merant’s Oracle Driver
Microsoft’s Oracle Driver
ODBC Drivers are constantly updated for the latest data types
ODBC allows for more control when querying
ODBC allows for Isolation Levels
ODBC Disadvantages
ODBC Requires DSN
ODBC is the proxy between an application and a database
ODBC is dependent on third party drivers
ODBC Transaction Isolation Levels are related to and limited by the transaction management capabilities of the data source.
Transaction isolation levels:
READ UNCOMMITTED
Data is allowed to be read prior to the committing of a transaction.
READ COMMITTED
Data is only accessible after a transaction has completed
REPEATABLE READ
The same data value is read during the entire transaction
SERIALIZABLE
Transactions have no effect on other transactions