33.1 ODBC Grundlagen (Open Database Connectivity)
ODBC ist eine Spezifikation von Microsoft© für ein Programminterface (API)
welches Applikationen einen Zugriff auf verschiedenste SQL Datenbanken erlaubt.
Wenn man ohne ODBC mit einer Applikation auf eine Datenbank zugreifen will,
muß man explizit die Schnittstelle des Datenbankmanagementsystems ansprechen.
Dieses sind datenbankspezifische DLLs. Wenn man den Datenbankhersteller für diese Applikation
wechseln will, muss man ohne ODBC im Quellcode die Datenbankzugriffe
auf die neue Schnittstelle der neuen Datenbank anpassen.
Wenn eine Datenbank einen ODBC-Treiber mitliefert, und die Applikation via
ODBC auf die Daten zugreift, so braucht der Quellcode der Applikation nicht geändert werden.
Um wirklich datenbankunabhängig zu sein, sollte man nur den SQL-Standard in
den Datenbankverbindungen benutzen. Die Data Definition Language (DDL), wie zum Beispiel Statements
zum Erzeugen von Tabellen, sind datenbankspezifisch. Die Data Manipulation
Language (DML) hingegen ist unter ANSI SQL (92 ...) hingegen weitestgehend
vom Hersteller der Datenbank unanhängig. MySQL hat gewisse Abweichungen,
während die freie Datenbank PostgreSQL sich an den ANSI SQL 92 Standard hält.
Benutzt man die ODBC API (Application Programming Interface), so kann man
gleichzeitig mehrere Datenbanken parallel mit einem (Windows 95) Client
ansprechen. Hierzu genügt die unterschiedliche Benennung der Datenbank bei
der Installation des zugehörigen ODBC-Treibers auf dem Client. Es gibt auch
zahlreiche Nicht-SQL oder auch Nicht-Relationale Datenbanken mit einem
ODBC-Treiber. Auch diese können mit eingebunden werden.