Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
In diesem Artikel wird erläutert, wie Sie PolyBase in einer SQL Server-Instanz verwenden, um externe Daten in Oracle abzufragen.
Voraussetzungen
Wenn Sie PolyBase nicht installiert haben, finden Sie weitere Informationen unter PolyBase installation (Installieren von PolyBase).
Bevor datenbankweit gültige Anmeldeinformationen erstellt werden können, muss ein Hauptschlüssel erstellt werden.
Konfigurieren einer externen Oracle-Datenquelle
Um die Daten einer Oracle-Datenquelle abzufragen, müssen Sie externe Tabellen zum Referenzieren der externen Daten erstellen. Dieser Abschnitt enthält Beispielcode zum Erstellen dieser externen Tabellen.
In diesem Abschnitt werden die folgenden Transact-SQL-Befehle verwendet:
- CREATE DATABASE CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Erstellen Sie datenbankweit gültige Anmeldeinformationen für den Zugriff auf die Oracle-Quelle.
/* 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';Wichtig
Der Oracle ODBC-Connector für PolyBase unterstützt nur die einfache Authentifizierung, nicht die Kerberos-Authentifizierung.
Erstellen Sie eine externe Datenquelle mit 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)Erstellen Sie eine externe Tabelle mit 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)Optional: Erstellen Sie Statistiken für eine externe Tabelle.
Es wird empfohlen, Statistiken für externe Tabellenspalten zu erstellen – insbesondere für diejenigen, die für Joins, Filter und Aggregate verwendet werden. So können Sie eine optimale Abfrageleistung erzielen.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
Wichtig
Nachdem Sie eine externe Datenquelle erstellt haben, können Sie mit dem CREATE EXTERNAL TABLE Befehl eine abfragebare Tabelle über dieser Quelle erstellen.
Nächste Schritte
Weitere Lernprogramme zum Erstellen externer Datenquellen und externer Tabellen für eine Vielzahl von Datenquellen finden Sie unter PolyBase Transact-SQL-Referenz.
Weitere Informationen und Beispiele finden Sie in den folgenden Artikeln: