Sdílet prostřednictvím


Konfigurace PolyBase pro přístup k externím datům v Oracle

platí pro:SQL Server

Tento článek vysvětluje, jak pomocí PolyBase v instanci SQL Serveru dotazovat externí data v Oracle.

Požadavky

Pokud jste nenainstalovali PolyBase, přečtěte si instalace PolyBase.

Před vytvořením přihlašovacích údajů s vymezeným oborem databáze je nutné vytvořit Hlavní klíč.

Konfigurace externího zdroje dat Oracle

Pokud chcete dotazovat data ze zdroje dat Oracle, musíte vytvořit externí tabulky, které budou odkazovat na externí data. Tato část obsahuje ukázkový kód pro vytvoření těchto externích tabulek.

V této části se používají následující příkazy Transact-SQL:

  1. Vytvořte přihlašovací údaje s vymezeným oborem databáze pro přístup ke zdroji 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';
    

    Důležitý

    Konektor Oracle ODBC pro PolyBase podporuje pouze základní ověřování, nikoli ověřování kerberos.

  2. Vytvořte externí zdroj dat pomocí VYTVOŘIT EXTERNÍ ZDROJ DAT.

    /* 
    * 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)
    
  3. Vytvořte externí tabulku s 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)
    
  4. Volitelné: Vytvořit statistiku pro externí tabulku.

    Pro zajištění optimálního výkonu dotazů doporučujeme vytvářet statistiky pro sloupce externí tabulky, zejména ty, které se používají pro spojení, filtry a agregace.

    CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN; 
    

Důležitý

Po vytvoření externího zdroje dat můžete pomocí příkazu CREATE EXTERNAL TABLE vytvořit v daném zdroji dotazovatelnou tabulku.

Další kroky

Další kurzy týkající se vytváření externích zdrojů dat a externích tabulek pro různé zdroje dat najdete v tématu PolyBase Transact-SQL referenční.

Další informace a příklady najdete v následujících článcích: