Zum Inhalt springen

ODBC-API unter Windows

Einrichtung

Die Verwendung der DuckDB-ODBC-API unter Windows erfordert die folgenden Schritte:

  1. Microsoft Windows benötigt einen ODBC-Driver-Manager, um die Kommunikation zwischen Anwendungen und den ODBC-Treibern zu steuern. Der Driver Manager unter Windows wird in der DLL-Datei odbccp32.dll sowie weiteren Dateien und Werkzeugen bereitgestellt. Ausführliche Informationen finden Sie unter Common ODBC Component Files.

  2. DuckDB veröffentlicht den ODBC-Treiber als Asset. Für Windows laden Sie ihn vom [Windows-ODBC-Asset (x86_64/AMD64)](https://github.com/duckdb/duckdb-odbc/releases/download/v1.5.5.0/duckdb_odbc-windows-amd64.zip) herunter.
  3. Das Archiv enthält die folgenden Artefakte:

    • duckdb_odbc.dll: der für Windows kompilierte DuckDB-Treiber.
    • duckdb_odbc_setup.dll: eine Setup-DLL, die vom Windows-ODBC-Data-Source-Administrator verwendet wird.
    • odbc_install.exe: ein Installationsskript zur Unterstützung der Konfiguration unter Windows.

    Entpacken Sie das Archiv in ein Verzeichnis (z. B. duckdb_odbc).

  4. Die Binärdatei odbc_install.exe übernimmt die Konfiguration des DuckDB-ODBC-Treibers unter Windows. Sie hängt von Odbccp32.dll ab, das Funktionen zum Konfigurieren der ODBC-Registry-Einträge bereitstellt.

    Doppelklicken Sie im dauerhaften Verzeichnis (z. B. duckdb_odbc) auf odbc_install.exe.

    Es sind Windows-Administratorrechte erforderlich. Ohne Administratorrechte erscheint eine Aufforderung der Benutzerkontensteuerung.

  5. odbc_install.exe fügt eine Standard-DSN-Konfiguration in die ODBC-Registrys mit der Standarddatenbank :memory: ein.

DSN-Einrichtung unter Windows

Nach der Installation können Sie die Standard-DSN-Konfiguration ändern oder eine neue hinzufügen, indem Sie das Windows-ODBC-Data-Source-Administrator-Werkzeug odbcad32.exe verwenden.

Es lässt sich auch über das Windows-Startmenü starten:

Standard-DuckDB-DSN

Der neu installierte DSN ist unter System DSN im Windows-ODBC-Data-Source-Administrator sichtbar:

Windows ODBC Config Tool

DuckDB-DSN ändern

Wenn Sie den Standard-DSN (d. h. DuckDB) auswählen oder eine neue Konfiguration hinzufügen, erscheint das folgende Einrichtungsfenster:

DuckDB Windows DSN Setup

In diesem Fenster können Sie den DSN und den mit diesem DSN verbundenen Datenbankdateipfad festlegen.

Ausführlichere Windows-Einrichtung

Es gibt zwei Wege, den ODBC-Treiber zu konfigurieren: entweder durch Ändern der Registry-Schlüssel wie unten beschrieben oder durch Verbinden mit SQLDriverConnect. Eine Kombination aus beiden ist ebenfalls möglich.

Darüber hinaus unterstützt der ODBC-Treiber alle in DuckDB enthaltenen Konfigurationsoptionen.

Wenn eine Konfiguration sowohl in der an SQLDriverConnect übergebenen Verbindungszeichenfolge als auch in der Datei odbc.ini gesetzt ist, hat die an SQLDriverConnect übergebene Vorrang.

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

Registry-Schlüssel

Die ODBC-Einrichtung unter Windows basiert auf Registry-Schlüsseln (siehe Registry Entries for ODBC Components). Die ODBC-Einträge können im Registry-Schlüssel des aktuellen Benutzers (HKCU) oder im System-Registry-Schlüssel (HKLM) stehen.

Wir haben die Systemeinträge unter HKLM->SOFTWARE->ODBC getestet und verwendet. odbc_install.exe ändert diesen Eintrag, der zwei Unterschlüssel hat: ODBC.INI und ODBCINST.INI.

In ODBC.INI tragen Benutzer üblicherweise DSN-Registry-Einträge für die Treiber ein.

Zum Beispiel sähe der DSN-Registry-Eintrag für DuckDB so aus:

HKLM->SOFTWARE->ODBC->ODBC.INI->DuckDB

ODBCINST.INI enthält einen Eintrag für jeden ODBC-Treiber sowie weitere, für die Windows-ODBC-Konfiguration vordefinierte Schlüssel.

ODBC-Treiber aktualisieren

Wenn eine neue Version des ODBC-Treibers erscheint, überschreibt die Installation der neuen Version die vorhandene. Der Installer aktualisiert die Versionsnummer in der Registry jedoch nicht immer. Damit die richtige Version verwendet wird, prüfen Sie, dass HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\DuckDB Driver die aktuellste Version enthält und HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\DuckDB\Driver den korrekten Pfad zum neuen Treiber hat.