Partage via


Se connecter à des sources de données ODBC avec PolyBase sur SQL Server sur Linux

S’applique à : SQL Server 2025 (17.x)

Cet article explique comment utiliser des services PolyBase avec SQL Server sur Linux.

À compter de SQL Server 2025 (17.x), les déploiements sur Linux peuvent utiliser des sources de données ODBC pour PolyBase. Cela vous permet d’apporter votre propre pilote (BYOD). Sur Linux, cette fonctionnalité fonctionne de la même façon que sur Windows. Pour plus d’informations, consultez Configurer PolyBase pour accéder aux données externes avec des types génériques ODBC.

Avertissement

Le modèle BYOD (bring-your-own-driver) implique des risques qui sont la responsabilité du client et du fournisseur de pilotes. Microsoft n’est pas responsable des problèmes que le pilote tiers peut provoquer.

Exemples

Installer sur Linux

L’exemple suivant illustre le pilote ODBC SQL sur Ubuntu.

  1. Ajoutez le référentiel Microsoft :

    1. Importer la clé Microsoft GPG

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Ajouter le référentiel Microsoft à votre système

      curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  2. Mettre à jour la liste des packages

    sudo apt update
    
  3. Installer le pilote ODBC

    Installez la dernière version du pilote ODBC. L’exemple suivant installe la version 18.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

L’installation crée les fichiers suivants :

Fichier Descriptif
/etc/odbcinst.ini Informations sur le nom du pilote, sa description et sa version.
/etc/odbc.ini Nom, chiffrement et autres spécifications DNS.

Vous devez créer le odbc.ini fichier en fonction des propriétés et spécifications du pilote. Plusieurs pilotes partagent les mêmes fichiers odbc.ini et odbcinst.ini, avec plusieurs entrées.

Exemples de fichiers

Exemple odbc.ini

Dans cet exemple, driver_name doit correspondre au nom de odbcinst.ini.

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

Exemple Sybase 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

Exemple Sybase 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

Pour obtenir la liste complète des paramètres pris en charge, consultez la documentation du fournisseur du driver.

Exemples de requêtes

Une fois la configuration du pilote terminée, vous pouvez utiliser les informations d’identification étendues à la base de données, la source de données externe et d’autres fonctionnalités de PolyBase.

Par exemple:

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

Limites

PolyBase pour SQL Server sur Linux utilise un service externe pour isoler et charger les pilotes en toute sécurité. Ce service est démarré par défaut lorsque le package PolyBase (mssql-server-polybase) est installé.

Le service utilise le numéro 25100de port par défaut . Si ce port est en cours d’utilisation, il échoue avec le message suivant :

Failed to bind port "127.0.0.1:25100"

Vous trouverez ce message dans le fichier journal de PolyBase, situé à l’adresse suivante : /var/opt/mssql-polybase-ees/log/. Dans SQL Server 2025 (17.x) et versions ultérieures, l’emplacement a été déplacé vers /var/opt/mssql/log/polybase-ees-log.