Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
O artigo explica como usar o PolyBase em uma instância do SQL Server para consultar dados externos no Oracle.
Pré-requisitos
Se ainda não instalaste o PolyBase, consulta instalação do PolyBase.
Antes de criar uma credencial com escopo de banco de dados, uma chave mestra deve ser criada.
Configurar uma fonte de dados externa Oracle
Para consultar os dados de uma fonte de dados Oracle, você deve criar tabelas externas para fazer referência aos dados externos. Esta seção fornece código de exemplo para criar essas tabelas externas.
Os seguintes comandos Transact-SQL são usados nesta seção:
- CRIAR CREDENCIAL DE ESCOPO DE BANCO DE DADOS (Transact-SQL)
- CRIAR FONTE DE DADOS EXTERNA (Transact-SQL)
- CRIAR TABELA EXTERNA (Transact-SQL)
- CRIAR ESTATÍSTICAS (Transact-SQL)
Crie uma credencial com escopo de banco de dados para acessar a origem 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';Importante
O Oracle ODBC Connector for PolyBase suporta apenas autenticação básica, não autenticação Kerberos.
Crie uma fonte de dados externa com 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)Crie uma tabela externa com 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)Opcional: Criar estatísticas em uma tabela externa.
Recomendamos a criação de estatísticas em colunas de tabelas externas, especialmente aquelas usadas para junções, filtros e agregações, para um desempenho de consulta ideal.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
Importante
Depois de criar uma fonte de dados externa, você pode usar o comando CREATE EXTERNAL TABLE para criar uma tabela consultável sobre essa fonte.
Próximos passos
Para obter mais tutoriais sobre como criar fontes de dados externas e tabelas externas para uma variedade de fontes de dados, consulte PolyBase Transact-SQL referência.
Para obter mais informações e exemplos, consulte os seguintes artigos: