One of the underlying technologies in the Windows operating system is ODBC, which enables Windows-based programs to access a database through a driver. Rather than having a custom interface to each database, something you might very well have to write yourself, you can connect to the database of your choice through a driver.
The concept of ODBC is very similar to the concept of Windows printer drivers, which enables you to write your program without regard for the printer. Individual differences, which DOS programming forced you to address, are conveniently handled by the printer driver. The result is that you spend your time working on the tasks peculiar to your program, not on writing printer drivers. ODBC applies this idea to databases. The visual part of ODBC resides in the control panel.
The Open Database Connectivity (ODBC) interface by Microsoft allows applications to access data in database management systems (DBMS) using SQL as a standard for accessing the data. ODBC permits maximum interoperability, which means a single application can access different DBMS. Application end users can then add ODBC database drivers to link the application to their choice of DBMS.
The ODBC interface defines:
1. A library of ODBC function calls of two types:
- Core functions that are based on the X/Open and SQL Access Group Call Level Interface specification
- Extended functions that support additional functionality, including scrollable cursors
2. SQL syntax based on the X/Open and SQL Access Group SQL CAE specification (1992)
3. A standard set of error codes
4. A standard way to connect and logon to a DBMS
5. A standard representation for data types
The ODBC solution for accessing data led to ODBC database drivers, which are dynamic-link libraries on Windows and shared objects on UNIX. These drivers allow an application to gain access to one or more data sources. ODBC provides a standard interface to allow application developers and vendors of database drivers to exchange data between applications and data sources.
The ODBC architecture has four components:
- Application, which processes and calls ODBC functions to submit SQL statements and retrieve results.
- Driver Manager, which loads drivers for the application.
- Driver, which processes ODBC function calls, submits SQL requests to a specific data source, and returns results to the application.
- Data source, which consists of the data to access and its associated operating system, DBMS, and network platform (if any) used to access the DBMS
Using ODBC, an application developer can develop, compile, and ship an application without targeting a specific DBMS. In this scenario, the application developer does not need to use embedded SQL; therefore, he does not need to recompile the application for each new environment.
You have two choices when deciding how to implement data access:
- Custom coding to the database’s native interface, such as Oracle’s OCI (Oracle Call Interface)
- Use third-party ODBC drivers such as DataDirect Technologies’ wire protocol ODBC drivers.
Custom coding data access to the native proprietary interface of each database results in non-portable code. This approach requires you to re-program your application every time you change databases and even database versions. This makes it difficult to maintain the application and is not very cost effective. And, compared to using wire protocol ODBC drivers, there is not even a performance advantage.
DataDirect Technologies ODBC drivers provide the following advantages over other ODBC drivers:
- DataDirect Technologies offers a Wire Protocol ODBC driver for every major database – Oracle, DB2, SQL Server, Sybase and Informix – on both 32-bit and 64-bit Windows and UNIX platforms. Wire Protocol technology eliminates the need for client libraries, simplifying development and eliminating configuration and support issues.
- All major database vendors, including Oracle, IBM, Microsoft, Sybase and Progress, embed DataDirect Technologies’ ODBC drivers as part of their strategic product offerings.
- DataDirect Technologies offers award-winning 24×7 technical support to ensure rapid response to customer concerns (see the SupportLink website for more information.)