ODBC

ODBC

In computing, ODBC (Open Database Connectivity) is a standard C interface for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application can use ODBC to query data from a DBMS, regardless of the operating system or DBMS it uses.

ODBC accomplishes DBMS independence by using an ODBC driver as a translation layer between the application and the DBMS. The application uses ODBC functions, and the driver passes the query to the DBMS.

Contents

Overview

ODBC defines a standard C API for accessing a relational DBMS. It was developed by the SQL Access Group in 1992 to standardize the use of a DBMS by an application. ODBC provides a universal middleware layer between the application and DBMS, allowing the application developer to use a single interface. If changes are made to the DBMS specification, only the driver needs updating. An ODBC driver can be thought of as analogous to a printer or other driver, providing a standard set of functions for the application to use, and implementing DBMS-specific functionality.

An application that can use ODBC is referred to as "ODBC-compliant". Any ODBC-compliant application can access any DBMS for which a driver is installed. Drivers exist for all major DBMSs and even for text or CSV files.

History

Microsoft, in partnership with Simba Technologies, created ODBC by adapting the SQL Access Group CLI.[1] The standard was based on Call Level Interface (CLI) specifications from the SQL Access Group, X/Open (after 1996 part of The Open Group), and the ISO/IEC. ODBC 1.0 was released in September 1992.[2] After ODBC 2.0, Microsoft decided to align ODBC 3.0 with the CLI specification making its way through X/Open and ISO. In 1995, SQL/CLI became part of the international SQL standard.[3]

Version history:[4]

  • 1.0: released in September 1992[5]
  • 2.0: ca 1994
  • 2.5
  • 3.0: ca 1995
  • 3.5: ca 1997
  • 3.8: ca 2009, with Windows 7[6]

Drivers

An ODBC driver enables an ODBC-compliant application to use a data source, normally a DBMS. (Some non-DBMS drivers exist, for such data sources as CSV files. Such drivers implement a small DBMS.) ODBC drivers exist for most DBMSs, including Oracle, Microsoft SQL Server, Sybase ASE, and DB2.

Because different technologies have different capabilities, most ODBC drivers do not implement all functionality defined in the ODBC standard. Some drivers offer extra functionality not defined by the standard.

ODBC Driver Manager

The Driver Manager (DM) is the software that loads a particular driver based on the connection information.[7] An application is actually linked to the DM. When the application calls the ODBC function to connect to the DBMS, the DM parses the connection string and loads the appropriate driver.

Windows and Mac OS X include a driver manager. Other operating systems can avail themselves of either of two free implementations, iODBC or unixODBC.

Bridging configurations

A bridge is special kind of driver: a driver that uses another driver-based technology.

JDBC-ODBC bridges

A JDBC-ODBC bridge consists of a JDBC driver which employs an ODBC driver to connect to a target database. This driver translates JDBC method calls into ODBC function calls. Programmers usually use such a bridge when a particular database lacks a JDBC driver. Sun Microsystems included one such bridge in the JVM, but viewed it as a stop-gap measure while few JDBC drivers existed. Sun never intended its bridge for production environments, and generally recommends against its use. As of 2008 independent data-access vendors deliver JDBC-ODBC bridges which support current standards for both mechanisms, and which far outperform the JVM built-in.[citation needed]

ODBC-JDBC bridges

An ODBC-JDBC bridge consists of an ODBC driver which uses the services of a JDBC driver to connect to a database. This driver translates ODBC function-calls into JDBC method-calls. Programmers usually use such a bridge when they lack an ODBC driver for a particular database but have access to a JDBC driver.

OLE DB

Microsoft provides an OLE DB-ODBC bridge for simplifying development in COM aware languages (i.e. Visual Basic). This bridge forms part of the MDAC system component bundle, together with other database drivers.

See also

References

  1. ^ Harindranath, G; Jože Zupančič (2001). New perspectives on information systems development: theory, methods, and practice. Springer. p. 451. ISBN 9780306472510. http://books.google.com/books?id=O8Loa-c0TyoC. Retrieved 2010-07-28. "The first ODBC drivers [...] used the SIMBA query processor, which translated calls into the Microsoft Jet ISAM calls, and dispatched the calls to the appropriate ISAM driver to access the backend [...]" 
  2. ^ "Linux/UNIX ODBC - What is ODBC?". http://www.easysoft.com/developer/interfaces/odbc/linux.html#what_is_odbc. 
  3. ^ ISO/IEC 9075-3 -- Information technology -- Database languages -- SQL -- Part 3: Call-Level Interface (SQL/CLI)
  4. ^ "ODBC Versions". Linux/UNIX ODBC. Easysoft. http://www.easysoft.com/developer/interfaces/odbc/linux.html#odbc_versions. Retrieved 2009-10-27. 
  5. ^ Antal, Tiberiu Alexandru. "Access to an Oracle database using JDBC" (PDF). Cluj-Napoca: Technical University of Cluj-Napoca. p. 2. http://www.east.utcluj.ro/mb/mep/antal/Articole/orajdbc_2004.pdf. Retrieved 2009-10-27. "ODBC 1.0 was released in September 1992" 
  6. ^ "What's New in ODBC 3.8". Microsoft. http://msdn.microsoft.com/en-us/library/ee388580%28VS.85%29.aspx. Retrieved 2010-01-13. "Windows 7 includes an updated version of ODBC, ODBC 3.8." 
  7. ^ Sybase. "Introduction to ODBC". http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.sdk_12.5.1.aseodbc/html/aseodbc/aseodbc5.htm. Sybase. http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.sdk_12.5.1.aseodbc/html/aseodbc/aseodbc5.htm. Retrieved 8 October 2011. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • ODBC — (англ. Open Database Connectivity)  это программный интерфейс (API) доступа к базам данных, разработанный фирмой Microsoft, в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI), который… …   Википедия

  • ODBC —   [Abk. für Open Database Connectivity, dt. »Vernetzung für offene Datenbanksysteme«], eine von der SQL Access Group (SAG) unter der Federführung von Microsoft entwickelte standardisierte Anwendungsprogrammierschnittstel …   Universal-Lexikon

  • ODBC — son las siglas de Open DataBase Connectivity, un estándar de acceso a Bases de Datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato de cualquier aplicación, sin importar qué Sistema Gestor …   Enciclopedia Universal

  • ODBC — (Open Database Connectivity) standard developed by Microsoft that enables users to access data from within any application regardless of the type of database management system used (Computers) …   English contemporary dictionary

  • ODBC — Open Database Connectivity (ODBC, dt. etwa: „Offene Datenbank Verbindungsfähigkeit“) ist eine standardisierte Datenbankschnittstelle, die SQL als Datenbanksprache verwendet. ODBC bietet also eine Programmierschnittstelle (API), die es einem… …   Deutsch Wikipedia

  • ODBC — Open Database Connectivity Open DataBase Connectivity (ODBC) est un ensemble API/pilote permettant la communication entre des clients de bases de données et les systèmes de gestion de base de données du marché. En 1992, un sous comité du SQL… …   Wikipédia en Français

  • ODBC — Abk. für Open DataBase Connectivity; unter Windows bereitgestellte Schnittstelle für Anwendungen, die Zugriffe auf Datenbanken realisieren wollen. Der Vorteil von ODBC besteht in der Unabhängigkeit der Anwendungsprogrammierung von der zugrunde… …   Lexikon der Economics

  • ODBC Administrator — Developer(s) …   Wikipedia

  • ODBC — Open Data Base Connectivity (Computing » General) …   Abbreviations dictionary

  • ODBC — open database connectivity …   Medical dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”