Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Med PolyBase från och med SQL Server 2019 kan du ansluta till ODBC-kompatibla datakällor med hjälp av ODBC-anslutningsappen.
Den här artikeln visar hur du skapar konfigureringsanslutningar med hjälp av en ODBC-datakälla. Vägledningen som tillhandahålls använder en specifik ODBC-drivrutin som exempel. Kontakta ODBC-providern om du vill ha specifika exempel. Referera till ODBC-drivrutinsdokumentationen för datakällan för att fastställa lämpliga alternativ för anslutningssträngar. Exemplen i den här artikeln kanske inte gäller för någon specifik ODBC-drivrutin.
Förutsättningar
Obs
Den här funktionen kräver SQL Server i Windows.
PolyBase måste vara installerat och aktiverat för din SQL Server-instans PolyBase-installation.
Innan du skapar en databasomfångad autentiseringsuppgift måste en huvudnyckel skapas.
Installera ODBC-drivrutinen
Ladda ned och installera ODBC-drivrutinen för den datakälla som du vill ansluta till på var och en av PolyBase-noderna. När drivrutinen är korrekt installerad kan du visa och testa drivrutinen från ODBC-datakällshanteraren.
I exemplet ovan är namnet på föraren inringat i rött. Använd det här namnet när du skapar den externa datakällan.
Viktig
För att förbättra frågeprestandan aktiverar du anslutningspooler. Detta kan göras från ODBC-datakälladministratören.
Skapa beroende objekt i SQL Server
Om du vill använda ODBC-datakällan måste några objekt först skapas för att slutföra konfigurationen.
Följande Transact-SQL kommandon används i det här avsnittet:
Skapa en databasomfattande autentiseringsuppgift för åtkomst till ODBC-källan.
CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', Secret = '<password>';
I följande exempel skapas till exempel en autentiseringsuppgift med namnet
credential_name
med identitetenusername
och ett komplext lösenord.CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
Skapa en extern datakälla med 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>] );
I följande exempel skapas en extern datakälla:
- Med namnet
external_data_source_name
- Finns på ODBC-
SERVERNAME
och port4444
- Ansluta med
CData ODBC Driver For SAP 2015
– Det här är drivrutinen som skapas under Installera ODBC-drivrutinen - På
ServerNode
sap_server_node
port5555
- Konfigurerad för bearbetning som överförts till servern (
PUSHDOWN = ON
) - Använda
credential_name
autentiseringsuppgifter
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 );
- Med namnet
Skapa en extern tabell
När du har skapat de beroende objekten kan du skapa en extern tabell med hjälp av T-SQL.
Följande Transact-SQL kommandon används i det här avsnittet:
Skapa en eller flera externa tabeller.
Skapa en extern tabell. Du måste referera till den externa datakälla som skapades ovan med argumentet
DATA_SOURCE
och ange källtabellen somLOCATION
. Du behöver inte referera till alla kolumner, men du måste se till att typerna är korrekt mappade.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>] ) ;
Notera
Observera att du kan återanvända beroende objekt för alla externa tabeller med hjälp av den här externa datakällan.
Valfritt: Skapa statistik i en extern tabell.
För optimal frågeprestanda rekommenderar vi att du skapar statistik för externa tabellkolumner, särskilt de som används för kopplingar, filter och aggregeringar.
CREATE STATISTICS statistics_name ON contact (FirstName) WITH FULLSCAN;
Nästa steg
Mer information om PolyBase finns i Översikt över SQL Server PolyBase.
Fler självstudier om hur du skapar externa datakällor och externa tabeller till en mängd olika datakällor finns i PolyBase Transact-SQL referens.