Freigeben über


Herstellen einer Verbindung mit ODBC-Datenquellen mit PolyBase auf SQL Server unter Linux

Gilt für: SQL Server 2025 (17.x)

In diesem Artikel wird beschrieben, wie Sie PolyBase-Dienste mit SQL Server unter Linux verwenden können.

Ab SQL Server 2025 (17.x) können Bereitstellungen unter Linux ODBC-Datenquellen für PolyBase verwenden. Dies ermöglicht Ihnen, Ihren eigenen Treiber mitzubringen (BYOD). Unter Linux funktioniert dieses Feature ähnlich wie unter Windows. Weitere Informationen finden Sie unter PolyBase konfigurieren, um auf externe Daten mit generischen ODBC-Typen zuzugreifen.

Vorsicht

Das BYOD-Modell (Bring Your Own Driver) beinhaltet Risiken, für die der Kunde und der Fahreranbieter verantwortlich sind. Microsoft ist nicht für Probleme verantwortlich, die der Drittanbietertreiber verursachen könnte.

Beispiele

Installation unter Linux

Das folgende Beispiel veranschaulicht den SQL ODBC-Treiber auf Ubuntu.

  1. Fügen Sie das Microsoft-Repository hinzu:

    1. Importieren des Microsoft GPG-Schlüssels

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Hinzufügen des Microsoft-Repositorys zu Ihrem System

      curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  2. Aktualisieren der Paketliste

    sudo apt update
    
  3. Installieren des ODBC-Treibers

    Installieren Sie die neueste Version des ODBC-Treibers. Im folgenden Beispiel wird Version 18 installiert.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

Die Installation erstellt die folgenden Dateien:

Datei BESCHREIBUNG
/etc/odbcinst.ini Treibername, Beschreibung und Versionsinformationen.
/etc/odbc.ini DNS-Name, -Verschlüsselung und andere Spezifikationen.

Sie müssen die odbc.ini Datei basierend auf den Eigenschaften und Spezifikationen des Treibers erstellen. Mehrere Treiber verwenden dieselben odbc.ini und odbcinst.ini Dateien mit mehreren Einträgen.

Beispieldateien

Beispiel-odbc.ini

In diesem Beispiel muss driver_name mit dem Namen aus odbcinst.ini übereinstimmen.

[MyDSN]
Driver = driver_name
Server = your_server_name
Database = your_database_name
Trusted_Connection = yes

Sybase-Beispiel odbcinst.ini

[ODBC Drivers]
Devart ODBC Driver for ASE=installed
[Devart ODBC Driver for ASE]
Driver=/usr/share/devart/odbcase/libdevartodbcase.3.5.0.so

Sybase-Beispiel odbc.ini

[ODBC Data Sources]
DEVART_ASE=Devart ODBC Driver for ASE
[DEVART_ASE]
Driver=Devart ODBC Driver for ASE
Data Source=database_server_ip
Port=5000
Database=master
QuotedIdentifier=1

Die vollständige Liste der unterstützten Parameter finden Sie in der Dokumentation des Treiberanbieters.

Beispielabfragen

Sobald die Einrichtung des Treibers abgeschlossen ist, können Sie datenbankabhängige Anmeldeinformationen, externe Datenquellen und andere PolyBase verwenden.

Beispiel:

CREATE DATABASE SCOPED CREDENTIAL dsc_Sybase
    WITH IDENTITY = '<user>', SECRET = '<password>';
GO

CREATE EXTERNAL DATA SOURCE EDS_Sybase
WITH (
    LOCATION = 'odbc://<servername>:<port>',
    PUSHDOWN = ON, --- optional
    CONNECTION_OPTIONS = 'DSN=DEVART_ASE;DRIVER=Devart ODBC Driver for ASE',
    CREDENTIAL = dsc_Sybase
);
GO

CREATE EXTERNAL TABLE T_EXT
(
    C1 INT
)
WITH (
    DATA_SOURCE = [EDS_SYBASE],
    LOCATION = N'TEST.DBO.T'
);
GO

SELECT * FROM T_EXT;
GO

Einschränkungen

PolyBase für SQL Server unter Linux verwendet einen externen Dienst, um die Treiber sicher zu isolieren und zu laden. Dieser Dienst wird standardmäßig gestartet, wenn das PolyBase-Paket (mssql-server-polybase) installiert ist.

Der Dienst verwendet die Standardportnummer 25100. Wenn dieser Port verwendet wird, schlägt er mit der folgenden Meldung fehl:

Failed to bind port "127.0.0.1:25100"

Diese Meldung finden Sie in der Protokolldatei von PolyBase unter: /var/opt/mssql-polybase-ees/log/. Seit SQL Server 2025 (17.x) und in späteren Versionen wurde der Speicherort zu /var/opt/mssql/log/polybase-ees-log verlegt.