Dela via


Konfigurera PolyBase för åtkomst till externa data i Oracle

gäller för:SQL Server

Artikeln beskriver hur du använder PolyBase på en SQL Server-instans för att fråga externa data i Oracle.

Förutsättningar

Om du inte har installerat PolyBase, se PolyBase-installation.

Innan du skapar en databasomfångad autentiseringsuppgift måste en huvudnyckel skapas.

Konfigurera en extern Oracle-datakälla

Om du vill köra frågor mot data från en Oracle-datakälla måste du skapa externa tabeller för att referera till externa data. Det här avsnittet innehåller exempelkod för att skapa dessa externa tabeller.

Följande Transact-SQL kommandon används i det här avsnittet:

  1. Skapa en databasomfattande autentiseringsuppgift för åtkomst till Oracle-källan.

    /*  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';
    

    Viktig

    Oracle ODBC Connector för PolyBase stöder endast grundläggande autentisering, inte Kerberos-autentisering.

  2. Skapa en extern datakälla med 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)
    
  3. Skapa en extern tabell med 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. Valfritt: Skapa statistik i en extern tabell.

    Vi rekommenderar att du skapar statistik för externa tabellkolumner, särskilt de som används för kopplingar, filter och aggregeringar, för optimal frågeprestanda.

    CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN; 
    

Viktig

När du har skapat en extern datakälla kan du använda kommandot CREATE EXTERNAL TABLE för att skapa en frågebar tabell över den källan.

Nästa steg

För fler handledningar om hur du skapar externa datakällor och externa tabeller till en mängd olika datakällor, se PolyBase Transact-SQL referens.

Mer information och exempel finns i följande artiklar: