Condividi tramite


Connettersi a origini dati ODBC con PolyBase in SQL Server in Linux

Si applica a: SQL Server 2025 (17.x)

Questo articolo descrive come usare i servizi PolyBase con SQL Server in Linux.

A partire da SQL Server 2025 (17.x), le distribuzioni in Linux possono usare origini dati ODBC per PolyBase. In questo modo, è possibile portare il proprio autista (BYOD). In Linux questa funzionalità funziona in modo analogo a come funziona in Windows. Per altre informazioni, vedere Configurare PolyBase per accedere ai dati esterni con tipi generici ODBC.

Attenzione

Il modello BYOD (Bring Your Own Driver) comporta rischi che sono responsabilità del cliente e del provider di driver. Microsoft non è responsabile di alcun problema causato dal driver di terze parti.

Esempi

Installare in Linux

L'esempio seguente illustra il driver ODBC SQL in Ubuntu.

  1. Aggiungere il repository Microsoft:

    1. Importare la chiave di Microsoft GPG

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Aggiungere il repository Microsoft al sistema

      curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  2. Aggiornare l'elenco dei pacchetti

    sudo apt update
    
  3. Installare il driver ODBC

    Installare la versione più recente del driver ODBC. Nell'esempio seguente viene installata la versione 18.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

L'installazione crea i file seguenti:

Documento Descrizione
/etc/odbcinst.ini Informazioni sul nome del driver, sulla descrizione e sulla versione.
/etc/odbc.ini Nome DNS, crittografia e altre specifiche.

È necessario creare il odbc.ini file in base alle proprietà e alle specifiche del driver. Più driver condividono gli stessi file odbc.ini e odbcinst.ini, con più voci.

File di esempio

Esempio odbc.ini

In questo esempio, driver_name deve corrispondere al nome di odbcinst.ini.

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

Esempio di Sybase 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

Esempio di Sybase 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

Per l'elenco completo dei parametri supportati, vedere la documentazione del provider del driver.

Interrogazioni di esempio

Al termine dell'installazione del driver, è possibile usare le credenziali con ambito del database, l'origine dati esterna e altre funzionalità PolyBase.

Per esempio:

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

Limitazioni

PolyBase per SQL Server in Linux usa un servizio esterno per isolare e caricare i driver in modo sicuro. Questo servizio viene avviato per impostazione predefinita quando è installato il pacchetto PolyBase (mssql-server-polybase).

Il servizio usa il numero 25100di porta predefinito . Se questa porta è in uso, ha esito negativo con il messaggio seguente:

Failed to bind port "127.0.0.1:25100"

È possibile trovare questo messaggio nel file di log di PolyBase, disponibile in: /var/opt/mssql-polybase-ees/log/. In SQL Server 2025 (17.x) e versioni successive, la posizione è stata spostata in /var/opt/mssql/log/polybase-ees-log.