Teilen über


Standardprogrammierschnittstelle

Die Programmierschnittstelle ist vielleicht der offensichtlichste Anwärter für eine Standardisierung. Als die Entwicklung von ODBC begann, gab es bei ANSI und ISO bereits Standards für eingebettetes SQL und SQL-Module. Es gab zwar noch keine Standards für eine Datenbank-CLI, aber die SQL Access Group – ein Branchenkonsortium von Datenbankanbietern – dachte über eine Entwicklung nach; Teile von ODBC wurden später die Grundlage für ihre Arbeit.

Einer der Anforderungen für ODBC bestand darin, dass eine einzelne Anwendungs-Binärdatei mit mehreren DBMSs funktionieren musste. Aus diesem Grund verwendet ODBC keine eingebetteten SQL- oder Modulsprachen. Die Sprache in eingebetteten SQL- und Modulsprachen ist zwar standardisiert, aber sie sind jeweils an DBMS-spezifische Vorkompilierer gebunden. Daher müssen Anwendungen für jedes DBMS neu kompiliert werden, und die daraus hervorgehenden Binärdateien funktionieren nur mit einem einzigen DBMS. Das mag zwar für Anwendungen mit geringem Volumen in der Welt der Minicomputer und Mainframes akzeptabel sein, ist aber in der Welt der Personalcomputer inakzeptabel. Erstens ist es ein logistischer Albtraum, mehrere Versionen einer umfangreichen, verpackten Software an Kunden zu liefern, und zweitens müssen PC-Anwendungen oft auf mehrere DBMS-Dateien gleichzeitig zugreifen.

Auf der anderen Seite kann ein Call-Level-Interface über Bibliotheken oder Datenbanktreiber implementiert werden, die sich auf jedem lokalen Computer angesiedelt sind; für jeden DBMS ist ein anderer Treiber erforderlich. Da moderne Betriebssysteme solche Bibliotheken (z. B. Dynamic Link Libraries auf dem Microsoft Windows-Betriebssystem) zur Laufzeit laden können, kann eine einzelne Anwendung ohne Neukompilierung auf Daten aus verschiedenen DBMSs zugreifen und auf Daten aus mehreren Datenbanken gleichzeitig zugreifen. Wenn neue Datenbanktreiber verfügbar werden, können Benutzer diese einfach auf ihren Computern installieren, ohne ihre Datenbankanwendungen ändern, neu kompilieren oder erneut verknüpfen zu müssen. Darüber hinaus war ein Call-Level-Interface ein guter Anwärter für ODBC, weil solche Bibliotheken unter Windows – der Plattform, für die ODBC ursprünglich entwickelt wurde – bereits in großem Umfang genutzt wurden.