Configurer PolyBase pour accéder à des données externes dans Oracle
S'applique à : SQL Server
L’article explique comment utiliser PolyBase sur une instance SQL Server pour interroger des données externes dans Oracle.
Prérequis
Si vous n’avez pas installé PolyBase, consultez Installation de PolyBase.
La clé principale doit être créée avant les informations d’identification incluses dans l’étendue de la base de données.
Configurer une source de données externes Oracle
Pour interroger les données d’une source de données Oracle, vous devez créer des tables externes pour référencer les données externes. Cette section fournit un exemple de code pour créer ces tables externes.
Les commandes Transact-SQL suivantes sont utilisées dans cette section :
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Créez des informations d’identification incluses dans l’étendue de la base de données pour accéder à la source Oracle.
/* specify credentials to external data source * IDENTITY: user name for external source. * SECRET: password for external source. */ CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'password';
Important
Le connecteur ODBC Oracle pour Polybase prend uniquement en charge l’authentification de base (l’authentification Kerberos n’est pas prise en charge).
Créez une source de données externe avec CREATE EXTERNAL DATA SOURCE.
/* * LOCATION: Location string should be of format '<vendor>://<server>[:<port>]'. * PUSHDOWN: specify whether computation should be pushed down to the source. ON by default. * CONNECTION_OPTIONS: Specify driver location * CREDENTIAL: the database scoped credential, created above. */ CREATE EXTERNAL DATA SOURCE external_data_source_name WITH ( LOCATION = 'oracle://<server address>[:<port>]', -- PUSHDOWN = ON | OFF, CREDENTIAL = credential_name)
Créez une table externe avec CREATE EXTERNAL TABLE.
/* * LOCATION: Three-part identifier indicating database & domain or only database, schema, and table name. * DATA_SOURCE: The data source created above. */ CREATE EXTERNAL TABLE [T1] ( [KEY] DECIMAL(38) NOT NULL, [RANDOM_INT] DECIMAL(38), [RANDOM_FLOAT] FLOAT(53)) WITH ( LOCATION = '[ORCLCDB.localdomain].SYS.T1', DATA_SOURCE = external_data_source_name)
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 customer (C_CUSTKEY) WITH FULLSCAN;
Important
Une fois que vous avez créé une source de données externes, vous pouvez utiliser la commande CREATE EXTERNAL TABLE afin de créer une table requêtable sur cette source.
Étapes suivantes
Pour plus de tutoriels sur la création de sources de données externes et de tables externes vers diverses sources de données, consultez référence PolyBase Transact-SQL.
Pour plus d’informations et pour obtenir des exemples, consultez les articles suivants :