ODBC does not make your application instantly portable to any database or data source that has ODBC support. Many layers of software are involved in the data retrieval process, and each layer adds its own restrictions.
The major component that makes an ODBC connection work is the ODBC driver. See ODBC Structure for more information. The driver processes API function calls, submits SQL requests to a specific data source or DBMS, and returns results.
ODBC drivers are available from a variety of vendors and offer very different levels of support and performance. The sources of the data that the drivers connect to also offer very different capabilities in areas such as record locking, file operations, and transaction management. These differences in performance and capability can have a significant impact on your application.