Dela via


Ansluta till ODBC-datakällor med PolyBase på SQL Server i Linux

Gäller för: Förhandsversion av SQL Server 2025 (17.x)

Den här artikeln beskriver hur du kan använda PolyBase-tjänster med SQL Server i Linux.

Från och med förhandsversionen av SQL Server 2025 (17.x) kan distributioner på Linux använda ODBC-datakällor för PolyBase. På så sätt kan du ta med din egen drivrutin (BYOD). I Linux fungerar den här funktionen på samma sätt som i Windows. Mer information finns i Konfigurera PolyBase för åtkomst till externa data med allmänna ODBC-typer.

Försiktighet

BYOD-modellen (bring-your-own-driver) innebär risker som är kundens och drivrutinsproviderns ansvar. Microsoft ansvarar inte för eventuella problem som drivrutinen från tredje part kan orsaka.

Exempel

Installera på Linux

I följande exempel visas SQL ODBC-drivrutinen på Ubuntu.

  1. Lägg till Microsoft-lagringsplatsen:

    1. Importera Microsoft GPG-nyckeln

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Lägga till Microsoft-lagringsplatsen i systemet

      curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  2. Uppdatera paketlistan

    sudo apt update
    
  3. Installera ODBC-drivrutinen

    Installera den senaste versionen av ODBC-drivrutinen. I följande exempel installeras version 18.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

Installationen skapar följande filer:

Fil Beskrivning
/etc/odbcinst.ini Information om drivrutinsnamn, beskrivning och version.
/etc/odbc.ini DNS-namn, kryptering och andra specifikationer.

Du måste skapa odbc.ini filen baserat på drivrutinens egenskaper och specifikationer. Flera drivrutiner delar samma odbc.ini och odbcinst.ini filer, med flera poster.

Exempelfiler

Exempel odbc.ini

I det här exemplet driver_name måste matcha namnet från odbcinst.ini.

[MyDSN]
Driver = driver_name
Server = your_server_name
Database = your_database_name
Trusted_Connection = yes

Sybase-exempel odbcinst.ini

[ODBC Drivers]
Devart ODBC Driver for ASE=installed
[Devart ODBC Driver for ASE]
Driver=/usr/share/devart/odbcase/libdevartodbcase.3.5.0.so

Sybase-exempel odbc.ini

[ODBC Data Sources]
DEVART_ASE=Devart ODBC Driver for ASE
[DEVART_ASE]
Driver=Devart ODBC Driver for ASE
Data Source=database_server_ip
Port=5000
Database=master
QuotedIdentifier=1

En fullständig lista över parametrar som stöds finns i dokumentationen för drivrutinens provider.

Exempel på förfrågningar

När drivrutinskonfigurationen är klar kan du använda databasomfattande autentiseringsuppgifter, extern datakälla och annan PolyBase.

Till exempel:

CREATE DATABASE SCOPED CREDENTIAL dsc_Sybase
    WITH IDENTITY = '<user>', SECRET = '<password>';
GO

CREATE EXTERNAL DATA SOURCE EDS_Sybase
WITH (
    LOCATION = 'odbc://<servername>:<port>',
    PUSHDOWN = ON, --- optional
    CONNECTION_OPTIONS = 'DSN=DEVART_ASE;DRIVER=Devart ODBC Driver for ASE',
    CREDENTIAL = dsc_Sybase
);
GO

CREATE EXTERNAL TABLE T_EXT
(
    C1 INT
)
WITH (
    DATA_SOURCE = [EDS_SYBASE],
    LOCATION = N'TEST.DBO.T'
);
GO

SELECT * FROM T_EXT;
GO

Begränsningar

PolyBase för SQL Server på Linux använder en extern tjänst för att på ett säkert sätt isolera och läsa in drivrutinerna. Den här tjänsten startas som standard när PolyBase-paketet (mssql-server-polybase) installeras.

Tjänsten använder standardportnumret 25100. Om den här porten används misslyckas den med följande meddelande:

Failed to bind port "127.0.0.1:25100"

Du hittar det här meddelandet i PolyBase-loggfilen som finns på: /var/opt/mssql-polybase-ees/log/. I förhandsversionen av SQL Server 2025 (17.x) och senare versioner har platsen flyttats till /var/opt/mssql/log/polybase-ees-log.