Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Datenbanken

k22:k22.9:start

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.

  • ODBC (Open Database Connectivity) als Datenbank-Schnittstelle werden Sie in einem Gambas-Programm dann verwenden, wenn Sie eine Datenbank verwenden wollen, die von Gambas nicht direkt unterstützt wird.
  • ODBC gibt Ihnen die Möglichkeit, die selben Befehle für verschiedene SQL-Datenbanken zu verwenden und vereinfacht so (theoretisch) den Austausch der Datenbank.
  • Erst nach der Installation passender ODBC-Treiber können Sie auf die SQL-Datenbanken zugreifen.

GAMBAS

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

  • Innerhalb der Gambas-IDE können Sie für die DBMS SQLite, MySQL (MariaDB) und PostgreSQL Datenbanken und DB-Tabellen erzeugen.
  • Sie können Daten in die DB-Tabellen einfügen, ändern oder löschen.
  • Gambas bietet mit gb.db die Möglichkeit, in den eigenen Programmen unabhängig vom zu Grunde liegenden DBMS zu arbeiten!

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:

  • Installation der ODBC-Datenbankschnittstelle aus dem Paket 'unixODBC', da die ODBC-Schnittstelle (gb.db.odbc) von Gambas auf 'unixODBC' setzt.
  • Installation der speziellen ODBC-Treiber für das eingesetzte DBMS.
  • Konfiguration der speziellen ODBC-Treiber in einer systemweit geltenden Datei /etc/odbcinst.ini.
  • Konfiguration der DataSourceName (DSN) als Verweis auf die zu nutzende Datenquelle zum Beispiel in der (versteckten) Datei ~/.odbc.ini, die den zu verwendenden ODBC-Treiber festlegt und den Namen der einen Datenbank.
  • Bei DBMS wie MySQL (MariaDB) oder PostgreSQL sind auch Informationen zum DB-Benutzer und zum DB-Passwort für diesen DB-Benutzer erforderlich.
  • Zum Test sollten für ein odbc-fähiges Programm wie das Konsolenprogramm 'isql' aus dem Paket 'unixODBC' grundlegende Kenntnisse zur Syntax und zur Bedeutung der Optionen vorhanden sein.

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

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k22/k22.9/start.txt · Zuletzt geändert: 07.08.2021 (Externe Bearbeitung)

Seiten-Werkzeuge