Bagikan melalui


Menyambungkan ke sumber data ODBC dengan PolyBase di SQL Server di Linux

Berlaku untuk: SQL Server 2025 (17.x)

Artikel ini menjelaskan bagaimana Anda dapat menggunakan layanan PolyBase dengan SQL Server di Linux.

Dimulai dengan SQL Server 2025 (17.x), penyebaran di Linux dapat menggunakan sumber data ODBC untuk PolyBase. Ini memungkinkan Anda untuk membawa pengemudi Anda sendiri (BYOD). Di Linux, fitur ini berfungsi mirip dengan cara kerjanya di Windows. Untuk informasi selengkapnya, lihat Mengonfigurasi PolyBase untuk mengakses data eksternal dengan jenis generik ODBC.

Perhatian

Model bring-your-own-driver (BYOD) melibatkan risiko yang menjadi tanggung jawab pelanggan dan penyedia driver. Microsoft tidak bertanggung jawab atas masalah apa pun yang dapat disebabkan driver pihak ketiga.

Contoh

Penginstalan pada Linux

Contoh berikut menunjukkan driver SQL ODBC di Ubuntu.

  1. Tambahkan repositori Microsoft:

    1. Mengimpor kunci GPG Microsoft

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Menambahkan repositori Microsoft ke sistem Anda

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

    sudo apt update
    
  3. Menginstal Driver ODBC

    Instal versi terbaru driver ODBC. Contoh berikut menginstal versi 18.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

Penginstalan membuat file berikut:

Arsip Deskripsi
/etc/odbcinst.ini Nama driver, deskripsi, dan informasi versi.
/etc/odbc.ini Nama DNS, enkripsi, dan spesifikasi lainnya.

Anda perlu membuat odbc.ini file berdasarkan properti dan spesifikasi driver. Beberapa driver berbagi file odbc.ini dan odbcinst.ini yang sama, dengan beberapa entri.

Contoh file

Contoh odbc.ini

Dalam contoh ini, driver_name harus cocok dengan nama dari odbcinst.ini.

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

Contoh 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

Contoh 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

Untuk daftar lengkap parameter yang didukung, periksa dokumentasi penyedia driver.

Contoh pertanyaan

Setelah penyiapan driver selesai, Anda dapat menggunakan kredensial dalam lingkup basis data, sumber data eksternal, serta fitur PolyBase lainnya.

Contohnya:

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

Keterbatasan

PolyBase untuk SQL Server di Linux menggunakan layanan eksternal untuk mengisolasi dan memuat driver dengan aman. Layanan ini dimulai secara default ketika paket PolyBase (mssql-server-polybase) diinstal.

Layanan ini menggunakan nomor default 25100 port. Jika port ini sedang digunakan, port gagal dengan pesan berikut:

Failed to bind port "127.0.0.1:25100"

Anda dapat menemukan pesan ini di file log PolyBase, yang terletak di: /var/opt/mssql-polybase-ees/log/. Di SQL Server 2025 (17.x) dan versi yang lebih baru, lokasi telah dipindahkan ke /var/opt/mssql/log/polybase-ees-log.