Zum Inhalt springen

ODBC-API unter Linux

Driver Manager

Ein Driver Manager ist erforderlich, um die Kommunikation zwischen Anwendungen und dem ODBC-Treiber zu steuern. Wir haben unixODBC getestet und unterstützen es; das ist ein vollständiger ODBC-Driver-Manager für Linux. Benutzer können ihn über die Kommandozeile installieren:

Auf Debian-basierten Distributionen (Ubuntu, Mint usw.) führen Sie aus:

Terminal window
sudo apt-get install unixodbc odbcinst

Auf Fedora-basierten Distributionen (Amazon Linux, RHEL, CentOS usw.) führen Sie aus:

Terminal window
sudo yum install unixODBC

Treiber einrichten

  1. Laden Sie das ODBC-Linux-Asset herunter, das zu Ihrer Architektur passt:

  2. Das Paket enthält die folgenden Dateien:

    • libduckdb_odbc.so: der DuckDB-Treiber.
    • unixodbc_setup.sh: ein Einrichtungs-Skript zur Unterstützung der Konfiguration unter Linux.

    Zum Entpacken führen Sie aus:

    Terminal window
    mkdir duckdb_odbc && unzip duckdb_odbc-linux-amd64.zip -d duckdb_odbc
  3. Das Skript unixodbc_setup.sh übernimmt die Konfiguration des DuckDB-ODBC-Treibers. Es basiert auf dem Paket unixODBC, das Befehle zur ODBC-Einrichtung und zum Testen bereitstellt, etwa odbcinst und isql.

    Führen Sie die folgenden Befehle mit der Option -u oder -s aus, um DuckDB-ODBC zu konfigurieren.

    Die Option -u richtet die ODBC-Init-Dateien auf Basis des Benutzer-Home-Verzeichnisses ein.

    Terminal window
    ./unixodbc_setup.sh -u

    Die Option -s ändert die Dateien auf Systemebene, die für alle Benutzer sichtbar sind; dafür sind Root-Rechte erforderlich.

    Terminal window
    sudo ./unixodbc_setup.sh -s

    Die Option --help zeigt die Verwendung von unixodbc_setup.sh und gibt die Hilfe aus.

    Terminal window
    ./unixodbc_setup.sh --help
    Usage: ./unixodbc_setup.sh <level> [options]
    Example: ./unixodbc_setup.sh -u -db ~/database_path -D ~/driver_path/libduckdb_odbc.so
    Level:
    -s: System-level, using 'sudo' to configure DuckDB ODBC at the system-level, changing the files: /etc/odbc[inst].ini
    -u: User-level, configuring the DuckDB ODBC at the user-level, changing the files: ~/.odbc[inst].ini.
    Options:
    -db database_path>: the DuckDB database file path, the default is ':memory:' if not provided.
    -D driver_path: the driver file path (i.e., the path for libduckdb_odbc.so), the default is using the base script directory
  4. Die ODBC-Einrichtung unter Linux basiert auf den Dateien .odbc.ini und .odbcinst.ini.

    Diese Dateien können im Home-Verzeichnis des Benutzers /home/⟨username⟩{:.language-sql .highlight} oder im Systemverzeichnis /etc{:.language-sql .highlight} abgelegt werden. Der Driver Manager priorisiert die Benutzerkonfigurationsdateien gegenüber den Systemdateien.

    Details zu den Konfigurationsparametern finden Sie auf der Seite zur ODBC-Konfiguration.