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.
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:
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_name
gemaakt, met een identiteit vanusername
en een complex wachtwoord.CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
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 poort4444
- Verbinding maken met
CData ODBC Driver For SAP 2015
- Dit is het stuurprogramma dat is gemaakt onder Het ODBC-stuurprogramma installeren - Op
ServerNode
sap_server_node
poort5555
- 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 );
- Benoemde
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:
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 deLOCATION
. 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.
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.