Konfigurowanie programu PolyBase w celu uzyskiwania dostępu do danych zewnętrznych w programie Oracle
Dotyczy:programu SQL Server
W tym artykule wyjaśniono, jak używać technologii PolyBase w wystąpieniu programu SQL Server do wykonywania zapytań dotyczących danych zewnętrznych w programie Oracle.
Warunki wstępne
Jeśli nie zainstalowano programu PolyBase, zobacz instalacja programu PolyBase.
Przed utworzeniem poświadczeń o zakresie bazy danych należy utworzyć klucz główny.
Konfigurowanie zewnętrznego źródła danych Oracle
Aby wykonać zapytanie dotyczące danych ze źródła danych Oracle, należy utworzyć tabele zewnętrzne, aby odwoływać się do danych zewnętrznych. Ta sekcja zawiera przykładowy kod umożliwiający utworzenie tych tabel zewnętrznych.
W tej sekcji są używane następujące polecenia Transact-SQL:
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Utwórz poświadczenie o zakresie bazy danych na potrzeby uzyskiwania dostępu do źródła 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';
Ważny
Łącznik Oracle ODBC connector for PolyBase obsługuje tylko uwierzytelnianie podstawowe, a nie uwierzytelnianie Kerberos.
Utwórz zewnętrzne źródło danych za pomocą 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)
Utwórz tabelę zewnętrzną za pomocą 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)
Opcjonalne: Utwórz statystyki w tabeli zewnętrznej.
Zalecamy tworzenie statystyk dotyczących kolumn tabeli zewnętrznej, zwłaszcza tych używanych do sprzężeń, filtrów i agregacji w celu uzyskania optymalnej wydajności zapytań.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
Ważny
Po utworzeniu zewnętrznego źródła danych możesz użyć CREATE EXTERNAL TABLE polecenie , aby utworzyć tabelę z możliwością wykonywania zapytań względem tego źródła.
Następne kroki
Aby uzyskać więcej samouczków dotyczących tworzenia zewnętrznych źródeł danych i tabel zewnętrznych w różnych źródłach danych, zobacz dokumentacji programu PolyBase Transact-SQL.
Aby uzyskać więcej informacji i przykładów, zobacz następujące artykuły: