Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menginstal Microsoft ODBC Driver untuk SQL Server di Linux. Ini juga mencakup instruksi penggunaan untuk alat yang bersifat opsional pada baris perintah untuk SQL Server (bcp dan sqlcmd) serta header pengembangan unixODBC.
Artikel ini menyediakan perintah untuk menginstal driver ODBC dari shell bash. Jika Anda ingin mengunduh paket secara langsung, lihat Mengunduh Driver ODBC untuk SQL Server.
Microsoft ODBC 18
Bagian berikut menjelaskan cara menginstal driver Microsoft ODBC 18 dari shell bash untuk distribusi Linux yang berbeda. Distribusi yang didukung adalah Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES), Ubuntu, dan Azure Linux. Dimulai dengan versi 18.4, untuk menerima Perjanjian Lisensi Pengguna Akhir (EULA) secara otomatis saat menginstal driver Linux.deb (atau .rpm) non-Alpine, Anda dapat membuat file /opt/microsoft/msodbcsql18/ACCEPT_EULA.
case $(uname -m) in
x86_64) architecture="amd64" ;;
arm64) architecture="arm64" ;;
*) architecture="unsupported" ;;
esac
if [[ "unsupported" == "$architecture" ]];
then
echo "Alpine architecture $(uname -m) is not currently supported.";
exit;
fi
#Download the desired package(s)
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/0b3d5518-b4a7-4a2b-afc7-7ee9e967f93c/msodbcsql18_18.6.2.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/cad0d30f-b9b1-4765-a011-81d8a66c8b8d/mssql-tools18_18.6.2.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.6.2.1-1_$architecture.sig msodbcsql18_18.6.2.1-1_$architecture.apk
gpg --verify mssql-tools18_18.6.2.1-1_$architecture.sig mssql-tools18_18.6.2.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.6.2.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.6.2.1-1_$architecture.apk
Catatan
Diperlukan driver versi 17.5 atau yang lebih tinggi untuk dukungan Alpine.
Versi sebelumnya
Bagian berikut ini menyediakan instruksi untuk menginstal versi driver Microsoft ODBC sebelumnya di Linux. Versi driver berikut tercakup:
- Driver Microsoft ODBC 17 untuk SQL Server
- Driver Microsoft ODBC 13.1 untuk SQL Server
- Driver Microsoft ODBC 13 untuk SQL Server
- Driver Microsoft ODBC 11 untuk SQL Server
Microsoft ODBC 17
Bagian berikut menjelaskan cara menginstal driver Microsoft ODBC 17 dari shell bash untuk distribusi Linux yang berbeda.
Penting
Jika Anda menginstal paket v17 msodbcsql yang hanya tersedia singkat, hapus paket tersebut sebelum menginstal paket msodbcsql17 untuk menghindari konflik. Anda dapat menginstal paket msodbcsql17 berdampingan dengan paket msodbcsql v13.
#Download the desired package(s)
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.apk
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.6.1-1_amd64.sig
curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.10.1.1-1_amd64.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql17_17.10.6.1-1_amd64.sig msodbcsql17_17.10.6.1-1_amd64.apk
gpg --verify mssql-tools_17.10.1.1-1_amd64.sig mssql-tools_17.10.1.1-1_amd64.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql17_17.10.6.1-1_amd64.apk
sudo apk add --allow-untrusted mssql-tools_17.10.1.1-1_amd64.apk
Catatan
Diperlukan driver versi 17.5 atau yang lebih tinggi untuk dukungan Alpine.
ODBC 13.1
Bagian berikut menjelaskan cara menginstal driver Microsoft ODBC 13.1 dari shell bash untuk distribusi Linux yang berbeda.
if ! [[ "8" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "Debian $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.deb
# Install the package
sudo dpkg -i packages-microsoft-prod.deb
# Delete the file
rm packages-microsoft-prod.deb
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
ODBC 13
Bagian berikut menjelaskan cara menginstal driver Microsoft ODBC 13 dari shell bash untuk distribusi Linux yang berbeda.
if ! [[ "6 7" == *"$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)"* ]];
then
echo "RHEL $(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1) is not currently supported.";
exit;
fi
# Download the package to configure the Microsoft repo
curl -sSL -O https://packages.microsoft.com/config/rhel/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.rpm
# Install the package
sudo yum install packages-microsoft-prod.rpm
# Delete the file
rm packages-microsoft-prod.rpm
sudo yum update
sudo yum remove unixODBC #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql-13.0.1.0-1 mssql-tools-14.0.2.0-1
sudo yum install unixODBC-utf16-devel #this step is optional but recommended*
#Create symlinks for tools
sudo ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd
sudo ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp
Penginstalan offline untuk ODBC 13
Jika Anda perlu menginstal Microsoft ODBC Driver 13 di komputer tanpa koneksi Internet, Anda harus mengatasi dependensi paket secara manual. Microsoft ODBC Driver 13 memiliki dependensi langsung berikut:
- Ubuntu:
libc6(>= 2.21),libstdc++6(>= 4.9),libkrb5-3,libcurl3,openssldebconf(>= 0.5),unixODBC(>= 2.3.1-1) - Red Hat:
glibc, ,e2fsprogskrb5-libs,openssl,unixODBC - SUSE:
glibc,libuuid1,krb5,openssl,unixODBC
Masing-masing paket ini memiliki dependensinya sendiri, yang mungkin atau mungkin tidak ada pada sistem. Untuk solusi umum untuk masalah ini, lihat dokumentasi manajer paket distribusi Anda: Red Hat, Ubuntu, dan SUSE.
Anda dapat mengunduh semua paket dependen secara manual dan menempatkannya bersama-sama di komputer penginstalan. Kemudian, instal setiap paket secara manual secara bergantian, selesai dengan paket Microsoft ODBC Driver 13.
- Unduh paket terbaru
msodbcsqldari https://packages.microsoft.com/rhel/7/prod/. - Pasang dependensi dan driver.
sudo yum install glibc e2fsprogs krb5-libs openssl unixODBC unixODBC-devel #install dependencies
sudo rpm -i msodbcsql-13.1.X.X-X.x86_64.rpm #install the Driver
ODBC 11
Bagian berikut menjelaskan cara menginstal driver Microsoft ODBC 11 di Linux. Sebelum Anda dapat menggunakan driver, instal manajer driver unixODBC. Untuk informasi selengkapnya, lihat Menginstal Driver Manager.
Langkah-langkah penginstalan
Penting
Instruksi ini mengacu pada msodbcsql-11.0.2270.0.tar.gz, yang merupakan file penginstalan untuk Red Hat Linux. Jika Anda menginstal di SUSE Linux, nama filenya adalah msodbcsql-11.0.2260.0.tar.gz.
Untuk menginstal driver:
Pastikan Anda memiliki izin root.
Unduh driver.
Distribusi Driver Hash SHA256 Red Hat 5 msodbcsql-11.0.2270.0.tar.gz 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343 Red Hat 6 msodbcsql-11.0.2270.0.tar.gz e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7 Linux SUSE msodbcsql-11.0.2260.0.tar.gz 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5 Ubah ke direktori tempat unduhan menempatkan file
msodbcsql-11.0.2270.0.tar.gz. Pastikan Anda memiliki file yang cocok dengan*.tar.gzversi Linux Anda. Untuk mengekstrak file, jalankan perintah berikut:tar xvzf msodbcsql-11.0.2270.0.tar.gzUbah ke direktori
msodbcsql-11.0.2270.0. Anda akan melihat file yang disebutinstall.sh.Untuk melihat daftar opsi penginstalan yang tersedia, jalankan perintah berikut:
./install.shBuat cadangan
odbcinst.ini. Penginstalan driver memperbaruiodbcinst.ini. odbcinst.ini berisi daftar driver yang terdaftar di UnixODBC Driver Manager. Untuk menemukan lokasi odbcinst.ini di komputer Anda, jalankan perintah berikut:odbc_config --odbcinstiniSebelum Anda menginstal driver, jalankan perintah berikut:
./install.sh verifyOutput dari
./install.sh verifymelaporkan apakah komputer Anda memiliki perangkat lunak yang diperlukan untuk mendukung driver ODBC di Linux.Ketika Anda siap untuk menginstal driver ODBC di Linux, jalankan perintah:
./install.sh installJika Anda perlu menentukan perintah instal (
bin-dirataulib-dir), tentukan perintah setelahinstallopsi .Setelah meninjau perjanjian lisensi, ketik
YESuntuk melanjutkan penginstalan.
Penginstalan menempatkan driver di /opt/microsoft/msodbcsql/11.0.2270.0. Driver dan file dukungannya harus berada di /opt/microsoft/msodbcsql/11.0.2270.0.
Untuk memverifikasi bahwa driver Microsoft ODBC di Linux berhasil didaftarkan, jalankan perintah berikut:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Copot pemasangan
Hapus instalan driver ODBC 11 di Linux dengan menjalankan perintah berikut:
rm -f /usr/bin/sqlcmd
rm -f /usr/bin/bcp
rm -rf /opt/microsoft/msodbcsql
odbcinst -u -d -n "ODBC Driver 11 for SQL Server"
File driver
Driver ODBC di Linux mencakup komponen-komponen berikut:
| Komponen | Deskripsi |
|---|---|
libmsodbcsql-17.X.so.X.X atau libmsodbcsql-13.X.so.X.X |
Berkas pustaka dinamis berbagi objek (so) yang berisi semua fungsionalitas driver. Jalur penginstalan adalah /opt/microsoft/msodbcsql17/lib64/ untuk Driver 17 dan /opt/microsoft/msodbcsql/lib64/ untuk Driver 13. |
msodbcsqlr17.rll atau msodbcsqlr13.rll |
File sumber daya yang menyertai pustaka driver. Jalur penginstalan adalah [driver .so directory]../share/resources/en_US/ |
msodbcsql.h |
File header yang berisi semua definisi baru yang diperlukan untuk menggunakan driver. Catatan: Anda tidak dapat mereferensikan msodbcsql.h dan odbcss.h dalam program yang sama.Jalur penginstalan adalah /opt/microsoft/msodbcsql17/include/ untuk Driver 17 dan /opt/microsoft/msodbcsql/include/ untuk Driver 13. |
LICENSE.txt |
File teks yang berisi ketentuan Perjanjian Lisensi Pengguna Akhir. Jalur penginstalan adalah /usr/share/doc/msodbcsql17/ untuk Driver 17 dan /usr/share/doc/msodbcsql/ untuk Driver 13. |
RELEASE_NOTES |
File teks yang berisi catatan rilis. Jalur penginstalan adalah /usr/share/doc/msodbcsql17/ untuk Driver 17 dan /usr/share/doc/msodbcsql/ untuk Driver 13. |
Pemuatan file sumber daya
Pengemudi perlu memuat file sumber daya agar dapat berfungsi. File ini dipanggil msodbcsqlr17.rll atau msodbcsqlr13.rll tergantung pada versi driver. Lokasi .rll file relatif terhadap lokasi driver itu sendiri (so atau dylib), seperti yang dijelaskan dalam tabel sebelumnya. Dimulai dengan versi 17.1, jika driver tidak dapat memuat .rll file dari jalur relatif, driver juga mencoba memuat .rll file dari direktori default. Jalur file sumber daya default di Linux adalah /opt/microsoft/msodbcsql17/share/resources/en_US/.
Pecahkan masalah
Konflik versi driver sebelumnya
Jika sebelumnya Anda menginstal dan mendaftarkan versi driver dengan unixODBC, penginstalan mungkin gagal dengan kesalahan yang mirip dengan:
Installation failed, ODBC Driver $1 for SQL Server detected!
Untuk mengatasi masalah, batalkan pendaftaran versi driver tersebut dengan menggunakan odbcinst perintah . Ganti $1 dengan versi driver yang dilaporkan dalam kesalahan penginstalan:
odbcinst -u -d -n "ODBC Driver $1 for SQL Server"
Jika menghapus instalasi dengan menggunakan odbcinst perintah gagal, Anda dapat menghapus bagian driver secara manual dari odbcinst.ini file. Anda dapat menemukan lokasi odbcinst.ini file dengan menggunakan perintah odbcinst -j.
Kesalahan pengunduhan paket pada Debian dan Ubuntu
Pada distribusi berbasis Debian, Anda mungkin melihat kesalahan berikut saat menginstal packages-microsoft-prod.deb paket:
dpkg-deb: error: 'packages-microsoft-prod.deb' is not a Debian format archive
Kesalahan ini biasanya berarti file yang diunduh rusak atau tidak lengkap, sering disebabkan oleh gangguan jaringan atau masalah proksi. Untuk mengatasi masalah:
Hapus file yang rusak dan unduh lagi. Untuk Ubuntu:
rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.debUntuk Debian, ganti
ubuntudan gunakan nomor versi utama saja:rm packages-microsoft-prod.deb curl -sSL -O https://packages.microsoft.com/config/debian/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2 | cut -d '.' -f 1)/packages-microsoft-prod.debVerifikasi bahwa unduhan adalah paket Debian yang valid (output harus mencakup
Debian binary package):file packages-microsoft-prod.debJika unduhan terus gagal, periksa koneksi jaringan dan pengaturan proksi Anda, atau gunakan
wgetalih-alihcurl:wget https://packages.microsoft.com/config/ubuntu/$(grep VERSION_ID /etc/os-release | cut -d '"' -f 2)/packages-microsoft-prod.deb
Masalah koneksi
Jika Anda tidak dapat membuat koneksi ke SQL Server dengan menggunakan driver ODBC, lihat artikel masalah yang diketahui tentang pemecahan masalah koneksi.