Partager via


Configurer PolyBase pour accéder à des données externes avec des types génériques ODBC

S'applique à :SQL Server

PolyBase à partir de SQL Server 2019 vous permet de vous connecter à des sources de données compatibles avec ODBC à l’aide du connecteur ODBC. À compter de SQL Server 2025 (17.x) Preview, cette fonctionnalité est disponible sur Linux.

Cet article explique comment créer la configuration de la connectivité à l’aide d’une source de données ODBC. L’aide fournie utilise un pilote ODBC spécifique comme exemple. Contactez votre fournisseur ODBC pour obtenir des exemples spécifiques. Pour déterminer les options de chaîne de connexion appropriées, référez-vous à la documentation du pilote ODBC relative à votre source de données. Les exemples de cet article peuvent ne pas s’appliquer à un pilote ODBC spécifique.

Prérequis

Remarque

Dans SQL Server 2022 (16.x) et les versions précédentes, cette fonctionnalité nécessite SQL Server sur Windows.

  • PolyBase doit être installé et activé pour votre installation de PolyBase dans l’instance SQL Server.

  • Avant de créer un identifiant de portée de base de données, vous devez créer une clé maître.

Installer le pilote ODBC

Suivez les instructions d’installation de votre système d’exploitation.

SQL Server 2025 (17.x) Préversion utilise par défaut le Microsoft ODBC Driver version 18 pour SQL Server, pour les sources de données PolyBase sqlserver. Ce pilote prend en charge TDS 8.0 et inclut diverses mises à jour, fonctionnalités et quelques changements cassants. Pour utiliser TDS 8.0, vous devez utiliser une nouvelle option de chiffrement et installer un certificat approuvé sur votre serveur.

Pour plus d’informations sur Microsoft ODBC Driver version 18 pour SQL Server, consultez :

Pour plus d’informations sur la prise en charge de SQL Server TDS 8.0, consultez TDS 8.0.

Téléchargez et installez le pilote ODBC de la source de données à laquelle vous souhaitez vous connecter sur chacun des nœuds PolyBase. Une fois que le pilote est correctement installé, vous pouvez voir et tester le pilote à partir de l’Administrateur de sources de données ODBC.

Capture d’écran des groupes extensibles PolyBase.

Dans l’exemple précédent, le nom du pilote est en rouge. Utilisez ce nom quand vous créez la source de données externe.

Importante

Afin d’améliorer les performances des requêtes, activez le regroupement de connexions. Cette opération peut être effectuée à partir de l’Administrateur de sources de données ODBC.

Créer des objets dépendants dans SQL Server

Pour utiliser la source de données ODBC, vous devez d’abord créer quelques objets pour terminer la configuration.

Les commandes Transact-SQL suivantes sont utilisées dans cette section :

  1. Créez des informations d’identification incluses dans l’étendue de la base de données pour accéder à la source ODBC.

    CREATE DATABASE SCOPED CREDENTIAL [<credential_name>]
        WITH IDENTITY = '<username>', SECRET = '<password>';
    

    Par exemple, l’exemple suivant crée des informations d’identification nommées credential_name, avec une identité de username. Remplacez <password> par un mot de passe complexe.

    CREATE DATABASE SCOPED CREDENTIAL credential_name
        WITH IDENTITY = 'username', SECRET = '<password>';
    
  2. Créez une source de données externe avec CREATE EXTERNAL DATA SOURCE.

    CREATE EXTERNAL DATA SOURCE [<external_data_source_name>]
    WITH (
        LOCATION = 'odbc://<ODBC server address>[:<port>]',
        CONNECTION_OPTIONS = 'Driver={<Name of installed driver>};
            ServerNode = <name of server  address>:<Port>',
        -- PUSHDOWN = [ON] | OFF,
        CREDENTIAL = [<credential_name>]
    );
    

    L’exemple suivant crée une source de données externe :

    • external_data_source_name nommée
    • Situé sur le serveur ODBC SERVERNAME et sur le port 4444
    • Connexion avec CData ODBC Driver For SAP 2015 : il s’agit du pilote créé dans Installer le pilote ODBC
    • Sur ServerNodesap_server_node, port 5555
    • Configuré pour un traitement transmis au serveur (PUSHDOWN = ON)
    • Utilisation des informations d’identification credential_name
    CREATE EXTERNAL DATA SOURCE external_data_source_name
    WITH (
        LOCATION = 'odbc://SERVERNAME:4444',
        PUSHDOWN = ON,
        CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015};
            ServerNode = sap_server_node:5555',
        CREDENTIAL = credential_name
    );
    

Créer une table externe

Une fois que vous avez créé les objets dépendants, vous pouvez créer une table externe à l’aide de T-SQL.

Les commandes Transact-SQL suivantes sont utilisées dans cette section :

  1. Créez une ou plusieurs tables externes.

    Créez une table externe. Vous devez référencer la source de données externe créée précédemment à l’aide de l’argument DATA_SOURCE et spécifier la table source en tant que LOCATION. Vous n’avez pas besoin de référencer toutes les colonnes, mais vous devez vous assurer que les types sont correctement mappés.

    CREATE EXTERNAL TABLE [<your_table_name>]
    (
        [<col1_name>] DECIMAL (38) NOT NULL,
        [<col2_name>] DECIMAL (38) NOT NULL,
        [<col3_name>] CHAR COLLATE Latin1_General_BIN NOT NULL
    )
    WITH (
        DATA_SOURCE = [<external_data_source_name>],
        LOCATION = '<sap_table_name>'
    );
    

    Remarque

    Notez que vous pouvez réutiliser les objets dépendants pour toutes les tables externes à l’aide de cette source de données externe.

  2. Facultatif : Créez des statistiques sur une table externe.

    Pour des performances de requêtes optimales, nous vous recommandons de créer des statistiques sur les colonnes de table externe, en particulier celles utilisées pour les jointures, les filtres et les agrégats.

    CREATE STATISTICS statistics_name ON contact(FirstName) WITH FULLSCAN;