SQL Server için Microsoft ODBC sürücüsünü yükleme (Linux)
Bu makalede, Linux'ta SQL Server için Microsoft ODBC Sürücüsünün nasıl yükleneceği açıklanmaktadır. Ayrıca SQL Server için isteğe bağlı komut satırı araçlarına (bcp
ve sqlcmd
) ve unixODBC geliştirme üst bilgilerine yönelik yönergeler içerir.
Bu makalede BASH kabuğundan ODBC sürücüsünü yüklemeye yönelik komutlar sağlanır. Paketleri doğrudan indirmek istiyorsanız bkz. SQL Serveriçin ODBC Sürücüsünü İndirme
Microsoft ODBC 18
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 18'in nasıl yükleneceği açıklanmaktadır. Desteklenen dağıtımlar Alpine Linux, Debian, Red Hat Enterprise Linux (RHEL), Oracle Linux, SUSE Linux Enterprise Server (SLES) ve Ubuntu'dır. Sürüm 18.4'den başlayarak, Alpine Linux (.deb veya .rpm) olmayan sürücüyü yüklerken EULA'yı otomatik olarak kabul etmek için '/opt/microsoft/msodbcsql18/ACCEPT_EULA' dosyasını oluşturabilirsiniz.
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/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/msodbcsql18_18.4.1.1-1_$architecture.apk
curl -O https://download.microsoft.com/download/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/mssql-tools18_18.4.1.1-1_$architecture.apk
#(Optional) Verify signature, if 'gpg' is missing install it using 'apk add gnupg':
curl -O https://download.microsoft.com/download/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/msodbcsql18_18.4.1.1-1_$architecture.sig
curl -O https://download.microsoft.com/download/7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8/mssql-tools18_18.4.1.1-1_$architecture.sig
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --import -
gpg --verify msodbcsql18_18.4.1.1-1_$architecture.sig msodbcsql18_18.4.1.1-1_$architecture.apk
gpg --verify mssql-tools18_18.4.1.1-1_$architecture.sig mssql-tools18_18.4.1.1-1_$architecture.apk
#Install the package(s)
sudo apk add --allow-untrusted msodbcsql18_18.4.1.1-1_$architecture.apk
sudo apk add --allow-untrusted mssql-tools18_18.4.1.1-1_$architecture.apk
Not
Alp desteği için sürücü sürümü 17.5 veya üzeri gereklidir.
Önceki sürümler
Aşağıdaki bölümlerde, Linux'ta Microsoft ODBC sürücüsünün önceki sürümlerini yüklemeye yönelik yönergeler sağlanır. Aşağıdaki sürücü sürümleri ele alınmıştır:
- SQL Server için Microsoft ODBC sürücüsü 17
- SQL Server için Microsoft ODBC sürücüsü 13.1'i
- SQL Server için Microsoft ODBC sürücüsü 13
- SQL Server için Microsoft ODBC sürücüsü 11'i
Microsoft ODBC 17
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 17'nin nasıl yükleneceği açıklanmaktadır.
Önemli
Kısa bir süre kullanılabilen v17 msodbcsql
paketini yüklediyseniz, msodbcsql17
paketini yüklemeden önce paketi kaldırmanız gerekir. Bu, çakışmaları önler.
msodbcsql17
paketi, msodbcsql
v13 paketiyle yan yana yüklenebilir.
#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
Not
Alp desteği için sürücü sürümü 17.5 veya üzeri gereklidir.
ODBC 13.1
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 13.1'in nasıl yükleneceği açıklanmaktadır.
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
Aşağıdaki bölümlerde, farklı Linux dağıtımları için Bash kabuğundan Microsoft ODBC sürücüsü 13'ü yükleme açıklanmaktadır.
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
Çevrimdışı yükleme
Microsoft ODBC Sürücüsü 13'ü İnternet bağlantısı olmayan bir bilgisayara yüklemeniz gerekiyorsa paket bağımlılıklarını el ile çözmeniz gerekir. Microsoft ODBC Sürücüsü 13 aşağıdaki doğrudan bağımlılıklara sahiptir:
- Ubuntu: libc6 (>= 2.21), libstdc++6 (>= 4.9), libkrb5-3, libcurl3, openssl, debconf (>= 0,5), unixodbc (>= 2.3.1-1)
- Red Hat:
glibc, e2fsprogs, krb5-libs, openssl, unixODBC
- SUSE:
glibc, libuuid1, krb5, openssl, unixODBC
Bu paketlerin her birinin kendi bağımlılıkları vardır ve bu bağımlılıklar sistemde mevcut olabilir veya olmayabilir. Bu sorunun genel bir çözümü için dağıtımınızın paket yöneticisi belgelerine bakın: Red Hat,
Ayrıca, tüm bağımlı paketleri el ile indirmek ve bunları yükleme bilgisayarına yerleştirmek, ardından her paketi sırayla el ile yüklemek ve Microsoft ODBC Driver 13 paketiyle tamamlamak da yaygındır.
-
msodbcsql
'den.rpm
vehttps://packages.microsoft.com/rhel/7/prod/'in en son sürümünü indirin. - Bağımlılıkları ve sürücüyü yükleyin.
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
Aşağıdaki bölümlerde, Linux'a Microsoft ODBC sürücüsü 11'in nasıl yükleneceği açıklanmaktadır. Sürücüyü kullanabilmeniz için unixODBC sürücü yöneticisini yükleyin. Daha fazla bilgi için bkz. Driver Manager'ı yükleme.
Yükleme adımları
Önemli
Bu yönergeler, Red Hat Linux için yükleme dosyası olan msodbcsql-11.0.2270.0.tar.gz
konusuna başvurur. SUSE Linux için yüklerseniz, dosya adı msodbcsql-11.0.2260.0.tar.gz
olur.
Sürücüyü yüklemek için:
Kök kullanıcı izniniz olduğundan emin olun.
Sürücüyü indirin.
Red Hat 5 - msodbcsql-11.0.2270.0.tar.gzSHA256: 178280daf01a49b8322cd902b6440979adacd594c01cd2a1f081dda23dbfb343
Red Hat 6 - msodbcsql-11.0.2270.0.tar.gzSHA256: e9b6bd33d174c7753b3a3f2d541713fbc156b46254484a169caa3f459dd828f7
SUSE Linux - msodbcsql-11.0.2260.0.tar.gz (SHA256: 86d1c5842be4f0095234a9455e18a04fdf4cc7960ec0255b37258112e2391ef5)Dosyanın indirildiği dizin olan
msodbcsql-11.0.2270.0.tar.gz
'ye gidin. Linux sürümünüzle eşleşen *.tar.gz dosyasına sahip olduğunuzdan emin olun. Dosyaları ayıklamak için şu komutu yürüterek işlemi tamamlayın:tar xvzf msodbcsql-11.0.2270.0.tar.gz
.msodbcsql-11.0.2270.0
dizinine geçin ve burada install.shadlı bir dosya görmeniz gerekir.Kullanılabilir yükleme seçeneklerinin listesini görmek için şu komutu yürütebilirsiniz: ./install.sh.
odbcinst.iniyedeğini yapın. Sürücü yüklemesi odbcinst.inigüncelleştirir. odbcinst.ini, unixODBC Sürücü Yöneticisi'ne kayıtlı sürücülerin listesini içerir. Bilgisayarınızda odbcinst.ini konumunu bulmak için şu komutu yürütebilirsiniz:
odbc_config --odbcinstini
.Sürücüyü yüklemeden önce şu komutu yürütebilirsiniz:
./install.sh verify
../install.sh verify
çıkışı, bilgisayarınızda Linux'ta ODBC sürücüsünü desteklemek için gerekli yazılımın bulunup bulunmadığını bildirir.Linux'ta ODBC sürücüsünü yüklemeye hazır olduğunuzda şu komutu yürütebilirsiniz:
./install.sh install
. Bir yükleme komutu (bin-dir
veyalib-dir
) belirtmeniz gerekiyorsa, yükleme seçeneğinden sonra komutunu belirtin.Lisans sözleşmesini gözden geçirdikten sonra yüklemeye devam etmek için EVET
yazın.
Kurulum, sürücüyü /opt/microsoft/msodbcsql/11.0.2270.0
'a koyar. Sürücü ve destek dosyaları /opt/microsoft/msodbcsql/11.0.2270.0
içinde olmalıdır.
Linux'ta Microsoft ODBC sürücüsünün başarıyla kaydedildiğini doğrulamak için şu komutu çalıştırın: odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
.
Kaldır
Aşağıdaki komutları yürüterek Linux üzerinde ODBC sürücüsü 11'i kaldırabilirsiniz:
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"
Sürücü dosyaları
Linux'taki ODBC sürücüsü aşağıdaki bileşenlerden oluşur:
Bileşen | Açıklama |
---|---|
libmsodbcsql-17.X.so.X.X veya libmsodbcsql-13.X.so.X.X | Sürücünün tüm işlevlerini içeren paylaşılan nesne (so ) dinamik kitaplık dosyası. Bu dosya, Sürücü 17 için /opt/microsoft/msodbcsql17/lib64/ ve Sürücü 13 için /opt/microsoft/msodbcsql/lib64/ yüklenir. |
msodbcsqlr17.rll veya msodbcsqlr13.rll |
Sürücü kitaplığı için eşlik eden kaynak dosyası. Bu dosya [driver .so directory]../share/resources/en_US/ klasörüne yüklenmiştir. |
msodbcsql.h | Sürücüyü kullanmak için gereken tüm yeni tanımları içeren üst bilgi dosyası. Not: Aynı programda msodbcsql.h ve odbcss.h'ye başvuramazsınız. msodbcsql.h, Sürücü 17 için /opt/microsoft/msodbcsql17/include/ ve Sürücü 13 için /opt/microsoft/msodbcsql/include/ yüklenir. |
LICENSE.txt | End-User Lisans Sözleşmesi koşullarını içeren metin dosyası. Bu dosya Sürücü 17 için /usr/share/doc/msodbcsql17/ ve Sürücü 13 için /usr/share/doc/msodbcsql/ yerleştirilir. |
SÜRÜM_NOTLARI | Sürüm notlarını içeren metin dosyası. Bu dosya Sürücü 17 için /usr/share/doc/msodbcsql17/ ve Sürücü 13 için /usr/share/doc/msodbcsql/ yerleştirilir. |
Kaynak dosyası yükleme
Sürücünün çalışması için kaynak dosyasını yüklemesi gerekir. Bu dosya, sürücü sürümüne bağlı olarak msodbcsqlr17.rll
veya msodbcsqlr13.rll
olarak adlandırılır.
.rll
dosyasının konumu, önceki tabloda belirtildiği gibi sürücünün konumuna (so
veya dylib
) göredir. Sürüm 17.1'den itibaren, göreli yoldan yükleme başarısız olursa sürücü de varsayılan dizinden .rll
yüklemeyi dener. Linux'ta varsayılan kaynak dosyası yolu /opt/microsoft/msodbcsql17/share/resources/en_US/
.
Sorun Giderme
Sürücünün bir sürümü daha önce unixODBC'ye yüklenmiş ve kaydedilmişse, yükleme Installation failed, ODBC Driver $1 for SQL Server detected!
gibi bir hatayla başarısız olabilir. Sorunu çözmek için sürücünün bu sürümünün kaydını kaldırın. Sürücülerin kaydını odbcinst
komutuyla kaldırabilirsiniz: odbcinst -u -d -n "ODBC Driver $1 for SQL Server
. ($1
yükleme hatasında bildirilen sürücünün sürümüyle değiştirin.) odbcinst
komutuyla kaldırma işlemi başarısız olursa, sürücü bölümlerini odbcinst.ini
dosyasından el ile kaldırabilirsiniz.
odbcinst.ini
dosyasının konumunu odbcinst -j
komutuyla bulabilirsiniz.
ODBC sürücüsünü kullanarak SQL Server'a bağlantı kurulamıyorsanızbağlantı sorunlarını giderme