Delen via


PolyBase configureren voor toegang tot externe gegevens met algemene ODBC-typen

van toepassing op:SQL Server-

Met PolyBase vanaf SQL Server 2019 kunt u verbinding maken met odbc-compatibele gegevensbronnen met behulp van de ODBC-connector.

In dit artikel wordt uitgelegd hoe u connectiviteit configureert met behulp van een ODBC-gegevensbron. De opgegeven richtlijnen maken gebruik van één specifiek ODBC-stuurprogramma als voorbeeld. Neem contact op met uw ODBC-provider voor specifieke voorbeelden. Raadpleeg de documentatie van het ODBC-stuurprogramma voor uw gegevensbron om de juiste verbindingsreeksopties te bepalen. De voorbeelden in dit artikel zijn mogelijk niet van toepassing op een specifiek ODBC-stuurprogramma.

Voorwaarden

Notitie

Voor deze functie is SQL Server in Windows vereist.

  • PolyBase moet geïnstalleerd en ingeschakeld zijn voor uw SQL Server-exemplaar PolyBase-installatie.

  • Voordat u een databasereferentie maakt, moet er een hoofdsleutel worden gemaakt.

Het ODBC-stuurprogramma installeren

Download en installeer het ODBC-stuurprogramma van de gegevensbron waarmee u verbinding wilt maken op elk van de PolyBase-knooppunten. Zodra het stuurprogramma correct is geïnstalleerd, kunt u het stuurprogramma bekijken en testen vanuit de ODBC-gegevensbronbeheerder.

PolyBase-uitschaalgroepen

In het bovenstaande voorbeeld is de naam van de bestuurder rood omcirkeld. Gebruik deze naam wanneer u de externe gegevensbron maakt.

Belangrijk

Schakel verbindingspooling in om de queryprestaties te verbeteren. Dit kan worden bereikt vanuit de ODBC-gegevensbronbeheerder.

Afhankelijke objecten maken in SQL Server

Als u de ODBC-gegevensbron wilt gebruiken, moeten er eerst enkele objecten worden gemaakt om de configuratie te voltooien.

In deze sectie worden de volgende Transact-SQL opdrachten gebruikt:

  1. Maak een database-gebaseerde referentie voor toegang tot de ODBC-bron.

    CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', Secret = '<password>';
    

    In het volgende voorbeeld wordt een credential met de naam credential_namegemaakt, met een identiteit van username en een complex wachtwoord.

    CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
    
  2. Maak een externe gegevensbron met CREATE EXTERNAL DATA SOURCE.

    CREATE EXTERNAL DATA SOURCE [<external_data_source_name>]
    WITH ( LOCATION = 'odbc://<ODBC server address>[:<port>]',
    CONNECTION_OPTIONS = 'Driver={<Name of Installed Driver>};
    ServerNode = <name of server  address>:<Port>',
    -- PUSHDOWN = [ON] | OFF,
    CREDENTIAL = [<credential_name>] );
    

    In het volgende voorbeeld wordt een externe gegevensbron gemaakt:

    • Benoemde external_data_source_name
    • Gelegen op de ODBC-SERVERNAME en poort 4444
    • Verbinding maken met CData ODBC Driver For SAP 2015- Dit is het stuurprogramma dat is gemaakt onder Het ODBC-stuurprogramma installeren
    • Op ServerNodesap_server_node poort 5555
    • Geconfigureerd voor verwerking die naar de server wordt gepusht (PUSHDOWN = ON)
    • De credential_name-referentie gebruiken
    CREATE EXTERNAL DATA SOURCE external_data_source_name
    WITH ( LOCATION = 'odbc://SERVERNAME:4444',
    CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015};
    ServerNode = sap_server_node:5555',
    PUSHDOWN = ON,
    CREDENTIAL = credential_name );
    

Een externe tabel maken

Zodra u de afhankelijke objecten hebt gemaakt, kunt u een externe tabel maken met behulp van T-SQL.

In deze sectie worden de volgende Transact-SQL opdrachten gebruikt:

  1. Maak een of meer externe tabellen.

    Maak een externe tabel. U moet verwijzen naar de externe gegevensbron die hierboven is gemaakt met behulp van het argument DATA_SOURCE en de brontabel opgeven als de LOCATION. U hoeft niet naar alle kolommen te verwijzen, maar u moet ervoor zorgen dat de typen correct zijn toegewezen.

      CREATE EXTERNAL TABLE [<your_table_name>]
      (
      [<col1_name>]     DECIMAL(38) NOT NULL,
      [<col2_name>]     DECIMAL(38) NOT NULL,
      [<col3_name>]     CHAR COLLATE Latin1_General_BIN NOT NULL
      )
      WITH (
      LOCATION='<sap_table_name>',
      DATA_SOURCE= [<external_data_source_name>]
      )
      ;
    

    Notitie

    U kunt de afhankelijke objecten voor alle externe tabellen opnieuw gebruiken met behulp van deze externe gegevensbron.

  2. Optioneel: Statistieken maken in een externe tabel.

    Voor optimale queryprestaties raden we u aan statistieken te maken voor externe tabelkolommen, met name de kolommen die worden gebruikt voor joins, filters en aggregaties.

    CREATE STATISTICS statistics_name ON contact (FirstName) WITH FULLSCAN; 
    

Volgende stappen

Zie Overzicht van SQL Server PolyBasevoor meer informatie over PolyBase.

Voor meer handleidingen over het maken van externe gegevensbronnen en externe tabellen naar verschillende gegevensbronnen, zie PolyBase Transact-SQL referentie.