Inhaltsverzeichnis

22.9.0 ODBC (Open Database Connectivity)

ODBC

ODBC ist eine von Microsoft® entwickelte standardisierte Datenbank-Schnittstelle, die SQL verwendet. Sie ermöglicht, dass aus einem (Gambas-)Programm heraus mit denselben Befehlen SQL-Datenbanken unterschiedlicher Hersteller angesprochen werden können. Voraussetzung ist, dass der Hersteller einer Datenbank für jene einen ODBC-Treiber bereitstellt und der jeweilige Treiber auf dem System installiert ist.

Der Einsatz dieser sogenannten „Middleware“ (Software, deren Aufgabe die Vermittlung zwischen zwei unabhängigen Anwendungen ist) bringt neben einer erhöhten Komplexität allerdings auch Nachteile gegenüber dem direkten Einsatz der DBMS SQLite, MySQL (MariaDB) und PostgreSQL mit sich → potentiell mehr Fehler sowie schlechtere Performanz. Vom Einsatz von ODBC in Gambas-Programmen für SQLite, MySQL (MariaDB)) und PostgreSQL ist daher abzuraten.

Für Programme, bei denen nicht bekannt ist, welche Datenbank sie in ihrer Umgebung vorfinden werden, ist ODBC eine gute Möglichkeit, unterschiedliche Datenbanken zu verwenden. Ein Beispiel ist die Programm-Suite LibreOffice®, bei der mit ODBC die Programme Writer und Calc (über Base) an unterschiedliche Datenbanken angebunden werden können.

GAMBAS

In den folgenden Kapiteln zeigen wir Ihnen beispielhaft, wie Sie ODBC Treiber für SQlite, MySQL und PostgreSQL Datenbanken einrichten.

Bedenken Sie:
Es ist eigentlich abwegig, mit einem Gambas-Programm per ODBC Datenbanken von SQLite, MySQL (MariaDB) und PostgreSQL zuzugreifen, das in Gambas direkter, einfacher und zuverlässiger erfolgen kann!

22.9.0.1 Einsatz von ODBC als Wrapper für den Zugriff auf Datenbanken - Voraussetzungen

Da die Installation und Konfiguration der erforderlichen ODBC-Treiber nicht zu den trivialen Aufgaben zählen, werden in diesem und in den folgenden drei Kapitel deren Installation und Konfiguration ausführlich beschrieben - immer mit dem Ziel, dass Sie Ihre mit Gambas erzeugten Datenbanken und DB-Tabellen in odbc-fähigen Anwendungen erfolgreich einsetzen können!

Für den Einsatz von ODBC als Wrapper für den Zugriff auf Datenbanken und als Treiber-Manager sind einige Voraussetzungen zu erfüllen:

Die Ausführungen zum Thema 'ODBC und Gambas' in den ersten beiden Abschnitten wurden von Christof Thalhofer als ODBC-Anwender redigiert und ergänzt.

22.9.0.2 Installation UnixODBC

UnixODBC ist eine Implementierung des Open-Database-Connectivity-Standards, einer Datenbank-Abstraktionsschicht, die es odbc-fähigen Anwendungen ermöglicht, über eine einzige Bibliothek mit vielen verschiedenen relationalen Datenbanken zu arbeiten. Dieses Paket enthält u.a. auch den ODBC-Client 'isql', ein Konsolen-Programm, mit dem SQL-Befehle interaktiv eingegeben werden können sowie die Pakete odbcinst und odbcinst1debian2.

Installieren Sie zuerst den ODBC-Treiber über das Paket 'unixodbc':

$ sudo apt-get install unixodbc
[sudo] Passwort für hans:     
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  odbcinst odbcinst1debian2
Die folgenden NEUEN Pakete werden installiert:
  odbcinst odbcinst1debian2 unixodbc
...

Der folgende Befehl 'odbcinst' mit der Option -j in einem Terminal liefert erste Informationen zur Version und zu den Pfaden der systemweiten und lokalen Konfigurationsdateien:

$ odbcinst -j
unixODBC 2.3.6
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/hans/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

In den nächsten Kapiteln werden die Installation und Konfiguration der speziellen ODBC-Treiber für die DBMS PostgreSQL, SQlite und MySQL beschrieben sowie Tests mit dem odbc-fähigen Programm 'isql'.

Download

Artikel

Download