Nepedia
Back to Discover
Advanced Reader
💻

Open Database Connectivity

technology Maturity 5-7 Next article →

Open Database Connectivity, or ODBC, is a standard application programming interface (API) for the C language. It allows applications to communicate with various database management systems, often called DBMS. The primary goal of ODBC is to provide independence from specific database systems and operating systems. This means an application can be moved to different platforms with very few changes to its data access code. When an application follows these standards, it is described as being "ODBC-compliant."

ODBC functions through a specific mechanism involving a translation layer. The application uses ODBC functions by communicating through an ODBC driver manager. This manager is linked to the application to coordinate requests. The driver manager then uses an ODBC driver to act as a translator between the application and the DBMS. You can think of an ODBC driver like a printer driver. Just as a printer driver helps a computer talk to different printers, the ODBC driver implements specific functionality for a particular database. The driver takes the query from the application and passes it to the DBMS.

There are many different types of data sources that ODBC can connect to. Drivers exist for all major DBMS platforms. However, the technology is not limited only to large database engines. Drivers can also connect to address book systems or Microsoft Excel spreadsheets. Even simple text files, such as comma-separated values (CSV) files, can be accessed through ODBC. This flexibility allows a single application to interact with a wide variety of data formats.

Before ODBC existed, data access was often difficult and rigid. In the 1970s, mainframe relational databases used different methods like IBM's SQL or the Ingres project's QUEL. Many programmers used "Embedded SQL" to put database commands directly into languages like Fortran or C. This was known as static SQL because the code could only be changed by modifying the program's source code. This made even small changes to a query a heavy task for programmers. By the 1980s, the industry began moving toward dynamic SQL, which could be changed at any time.

The development of ODBC was driven by the rise of client-server computing. In the mid-1980s, microcomputers became more powerful and used graphical user interfaces. This created a need for a standard way for microcomputer clients to access data on large mainframes. Early attempts at this included IBM's Distributed Relational Database Architecture (DRDA) and Apple's Data Access Language. Lotus Development also created a system called Blueprint, which later became DataLens. Blueprint used "query trees," which were complex data structures, rather than a command language like SQL.

Microsoft and Simba Technologies developed ODBC during the early 1990s. During this era, the SQL Access Group (SAG) was also working on a standard called the Call Level Interface (CLI). The group included members from Microsoft, Tandem Computers, Digital Equipment Corporation (DEC), and Sybase. While the CLI was a major effort, ODBC eventually became a more widely known de facto standard. Microsoft kept several advanced features in ODBC that were removed from the official CLI version. These features included metadata information queries and scrollable cursors.

Microsoft also integrated these ideas into their Jet database system. Jet used a C-based interface and driver libraries to redirect input and output. To make Jet work with SQL, Microsoft partnered with PageAhead Software. They used a query processor called SIMBA to act as a parser. This parser converted text-based SQL calls into the C-interface used by Jet. This allowed Microsoft to include drivers for Excel, turning spreadsheets into SQL-accessible tables. Today, ODBC remains a vital tool for connecting software to the vast world of data.

608 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

More to explore

🔬 Go deeper

More advanced topics to explore

🪜 Step back

Simpler topics to build understanding

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.