ubuntuusers.de

ODBC-Datenquellen einrichten

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

ODBC (Open Database Connectivity) ist eine Datenbankschnittstelle, mit der verschiedene Datenbanken über eine generische, datenbankunabhängige Schnittstelle gesteuert werden können.

Viele Anwendungen unterstützen die ODBC-Schnittstelle für Datenbankzugriffe, z. B. OpenOffice.org Base und das gleichlautende LibreOffice Base

Anwendungsszenarien

  • Bearbeitung z.B. eine MySQL-Datenbank auf einer Website mit Hilfe von LibreOffice Base. Dabei stehen dann die Daten sowohl auf dem Web, als auch in den LibreOffice-Modulen bereit.

  • Erstellung von Auswertungen aus Daten eines ERP- oder Warenwirtschaftssystems

Ubuntu wird in der Grundkonfiguration ohne ODBC ausgeliefert. Diese Anleitung erklärt auf einfache Weise, wie eine solche ODBC-Datenquelle einzurichten ist.

Installation

Folgende Pakete müssen installiert [1] werden:

  • unixodbc (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install unixodbc 

Oder mit apturl installieren, Link: apt://unixodbc

Installation eines ODBC-Treibers auf dem Client-Rechner

Dazu muss auf dem System, welches auf die Datenbank zugreift, gegebenenfalls noch der passende ODBC-Treiber für die Datenbank installiert werden, z. B.

Eine umfassende Treiber-Liste für alle unterstützten Datenbanken 🇬🇧 ist bei unixODBC zu finden.

ODBC-Datenquelle einrichten

Nachdem die Pakete installiert wurden, müssen die Dateien odbc.ini und odbcinst.ini, welche nach der Installation leer sind, einmalig mit einem Editor[2] mit Root-Rechten bearbeitet werden, um die Datenbank als ODBC-Datenquelle einzurichten.

Es gibt zwei Versionen der Dateien:

  1. /etc/odbc.ini und /etc/odbcinst.ini zur Spezifikation systemweiter Datenquellen

  2. ~/.odbc.ini und ~/.odbcinst.ini zur Spezifikation benutzerdefinierter Datenquellen

In der Datei [.]odbcinst.ini werden die notwendigen Daten für den jeweiligen ODBC-Treiber eingetragen.

In der Datei [.]odbc.ini werden die Datenquellen beschrieben und welche Treiber diese benutzen sollen.

Beispiel Microsoft SQL Server-Datenbank

Achtung!

Die folgenden Inhalte verwenden eine Microsoft SQL-Datenbank als Beispiel. Verwendet wird der Treiber Microsoft SQL Server Driver (FreeTDS) 🇬🇧. Für andere Datenbanken ist stattdessen der Inhalt aus der Anleitung des jeweiligen ODBC-Treiber-Anbieters zu übernehmen.

Folgender Inhalt ist in die Datei /etc/odbcinst.ini einzufügen. Es ist sicher zustellen, dass nach der Installation des FreeTDS Treibers die Bibliotheksdatei auch in dem Verzeichnis existiert, welches dem Parameter Driver übergeben wird. Der Parameter Description dient lediglich der Dokumentation.

[FreeTDS]
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Description = v0.64 with protocol v4.2

Folgender Inhalt ist in die Datei /etc/odbc.ini einzufügen. Dem Parameter Driver muss der zuvor gewählte Treibername übergeben werden. Im Parameter TDS_Version wird die TDS Protokollversion definiert. Der Standardwert ist auto. Jedoch muss dieser ggf. auf den Wert angepasst werden, welcher für den Ziel-SQL-Server besser geeignet ist. Siehe hierzu die FreeTDS Dokumentation 🇬🇧. Der Parameter Description dient lediglich der Dokumentation.

[MySQLServerName]
Driver = FreeTDS
Server = MySQLServer.intern
Port = 1433
TDS_Version = 7.0
Desription = ODBC Datenverbindung zur Datenbank MyDatabaseName
Database = MyDatabaseName

Testen der ODBC-Verbindung mittels isql

Aufruf des Programmes isql. Die genaue Syntax ist der Manpage zu entnehmen:

Beispiel:

isql MySQLServerName sa MyPassword

Beispiel SQL-Statement:

SQL>select * from information_schema.tables where table_type ='BASE TABLE'

Datenbank-Zugriff in LibreOffice einrichten

Zugriff mittels LibreOffice Base

Nachdem diese Dateien erstellt wurden, kann LibreOffice Base geöffnet werden und die ODBC-Datenbank in LibreOffice integriert werden.

Der Eröffnungsdialog "Datenbank auswählen" erscheint

  1. Option "Verbindung zu einer bestehenden Datenbank herstellen" auswählen und in der darunter liegenden Auswahlliste "ODBC" auswählen und mit "Vor" bestätigen

  2. Eingabe der ODBC Verbindung bzw. Auswahl über "Durchsuchen..." und mit "Vor" bestätigen

  3. Eingabe Benutzernamen und wenn vorhanden ein Kennwort

  4. Die Verbindung kann nun mittels "Verbindung testen" getestet werden; bei Erfolg bestätigt man wieder mit "Vor"

  5. Abschließend wird über die per Standard voreingestellten Optionen die Datenbank in Libre Office angemeldet und auf Wunsch geöffnet durch "Beenden"

Die Tabellen sollten jetzt im Tabellenteil des Base-Moduls erscheinen. Wie bei jeder anderen Datenbank in LibreOffice können jetzt zusätzliche Abfragen und Formulare erstellt werden.

Zugriff mittels LibreOffice Calc

Zunächst muss die zuvor erstellte Base-Datenbank in LibreOffice wie folgt registriert/verknüpft werden:

  1. LibreOffice Calc öffnen

  2. das Menü "Extras/Optionen..." auswählen

  3. in der linken Baumstruktur "LibreOffice Base/Datenbanken" auswählen

  4. mittels "Neu..." das Fenster "Neue Datenbankverknüpfung anlegen" öffnen

  5. Datenbankdatei inkl. Pfad eintragen oder mittels "Durchsuchen..." auswählen und einen frei wählbaren Registernamen vergeben und mit "OK" bestätigen

  6. abgeschlossene Regestrierung mit "OK" bestätigen

Abschließend kann über das Menü "Ansicht/Datenquellen" die Registrierte Datenbank ausgewählt und Inhalte (z.B. Abfargen) hieraus in eine Zelle, via "drag & drop", eingefügt werden.

Diese Revision wurde am 3. Mai 2021 18:43 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Büro, Datenbank, ODBC