Für den Zugriff auf eine Datenbank aus einer Programmiersprache heraus bietet nahezu jeder DBMS-Hersteller eine Programmierschnitstelle (API) an. Natürlich sind solche Lösungen nicht wesentlich portabel und DBMS-neutral. Aus dieser Situation haben sich unten aufgeführten Ansätze entwickelt.
ODBC stellt eine allgemeine Datenbank-Zugriffsschnittstelle für SQL bereit.
Im Jahre 1992 brachte Microsoft Open Database Connectivity(ODBC) auf den Markt. Ursprünglich für windows entwickelt, ist heute auch für andere Platformen verfügbar. ODBC-Treiber sind nahezu für alle DBVS verfügbar.
Auf der Grundlage von ODBC wurde ein vergleichbarer Standart von Sun Microsystems herausgebracht. Seit Java SE 1.1 ist JDBC ein Bestandteil der Standard-API. JDBC ist ein Schnittstellenframework in Java und hat alle vorteile der Sprache Java in sich. JDBC kann als eine Abstraktionsschicht zwischen Java und SQL angesehen werden. Doch obwohl JDBC die objektorientierten Eigenschaften von Java nutzt, ist es doch eine Low-level-API 1), kann aber als Basis für “High-Level Lösungen” (wi z.B. Embededded SQL, Mapping Tools) dienen. Die durch JDBC definierten Schnittstellen für die Arbeit mit einer DBMS werden von den DBMS Herstellern implementiert. Diese Eigenschaft ermöglicht eine einfache Umschaltung zwischen verschiedenen JDBC-Datenquellen und macht die Appliaktion im Allgemeinen unabhängig von Datenbankhersteller.
// Treiber Laden try { Class.forName("sun.jdbc.odbc.JdbcOdbcdriver"); } catch(ClassNotFoundException ce) { // Fehlerbehandlung } // Verbindungsaufbau Connection con = DriverManager.getConnection("jdbc:odbc:pizzaservice","user","pass"); ...